Hetrify: Efficient Verification of Heterogeneous Programs on RISC-V
The heterogeneous nature of contemporary software, comprising components like closed-source libraries, embedded assembly snippets, and modules written in multiple programming languages, leads to significant verification challenges. Currently, there are no mature and available methods to effectively...
Saved in:
| Published in: | Proceedings / International Conference on Software Engineering pp. 2113 - 2124 |
|---|---|
| Main Authors: | , , , , , |
| Format: | Conference Proceeding |
| Language: | English |
| Published: |
IEEE
26.04.2025
|
| Subjects: | |
| ISSN: | 1558-1225 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | The heterogeneous nature of contemporary software, comprising components like closed-source libraries, embedded assembly snippets, and modules written in multiple programming languages, leads to significant verification challenges. Currently, there are no mature and available methods to effectively address such problems. To bridge this gap, we propose a verification approach capable of effectively verifying heterogeneous programs. This approach is universally applicable. It theoretically supports the verification of any heterogeneous program that can be compiled into binary code, without being constrained by any specific programming language. The approach begins by compiling the entire program or its unverifiable segments into binary format. Under guarantees of semantic equivalence, these binaries are converted into verifiable C code, which can then be verified using existing C verification tools. Based on the RISC-V architecture, we developed the Hetrify tool to implement this verification approach. The tool is supported by rigorous mathematical proofs to ensure operational semantic equivalence between the converted C programs and their original counterparts. To validate our approach, we conducted verification experiments on 130 programs, including 100 assembly programs and 30 large heterogeneous programs with missing critical function source code, demonstrating the effectiveness of our approach. |
|---|---|
| AbstractList | The heterogeneous nature of contemporary software, comprising components like closed-source libraries, embedded assembly snippets, and modules written in multiple programming languages, leads to significant verification challenges. Currently, there are no mature and available methods to effectively address such problems. To bridge this gap, we propose a verification approach capable of effectively verifying heterogeneous programs. This approach is universally applicable. It theoretically supports the verification of any heterogeneous program that can be compiled into binary code, without being constrained by any specific programming language. The approach begins by compiling the entire program or its unverifiable segments into binary format. Under guarantees of semantic equivalence, these binaries are converted into verifiable C code, which can then be verified using existing C verification tools. Based on the RISC-V architecture, we developed the Hetrify tool to implement this verification approach. The tool is supported by rigorous mathematical proofs to ensure operational semantic equivalence between the converted C programs and their original counterparts. To validate our approach, we conducted verification experiments on 130 programs, including 100 assembly programs and 30 large heterogeneous programs with missing critical function source code, demonstrating the effectiveness of our approach. |
| Author | Li, Yiwei Liu, Jiaxin Yin, Liangze Li, Shanshan Hu, Yanfeng Dong, Wei |
| Author_xml | – sequence: 1 givenname: Yiwei surname: Li fullname: Li, Yiwei email: hn.cs.lyw@163.com organization: National University of Defense Technology,China – sequence: 2 givenname: Liangze surname: Yin fullname: Yin, Liangze email: yinliangze@nudt.edu.cn organization: National University of Defense Technology,China – sequence: 3 givenname: Wei surname: Dong fullname: Dong, Wei email: wdong@nudt.edu.cn organization: National University of Defense Technology,China – sequence: 4 givenname: Jiaxin surname: Liu fullname: Liu, Jiaxin email: liujiaxin18@nudt.edu.cn organization: National University of Defense Technology,China – sequence: 5 givenname: Yanfeng surname: Hu fullname: Hu, Yanfeng email: huyanfeng22@nudt.edu.cn organization: National University of Defense Technology,China – sequence: 6 givenname: Shanshan surname: Li fullname: Li, Shanshan email: shanshanli@nudt.edu.cn organization: National University of Defense Technology,China |
| BookMark | eNotkE1OwzAUhA0Cibb0Bl34Ag5-dvzHDkWhjVQJRKHbyk6fkRFNUBIWvT1GsJrRzKdZzJxcdX2HhKyAFwDc3TXVrlZKlqYQXKiCc27hgiydcVZKUFxpB5dkBkpZBkKoGzIfx4-M6dK5Gak2OA0pnu9pHWNqE3YT3WNOUuun1He0jzQjOPTv2GH_PdLnbAd_GmkuX5pdxfa35Dr6zxGX_7ogb4_1a7Vh26d1Uz1smReaT0yUgvsWrdcqAGrVglXhNwjaRGdN1OYIJrQm-DLGaKH04iiN4TKaIAHlgqz-dhMiHr6GdPLD-ZBfEM4JJ38Ae6BM_g |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IH CBEJK RIE RIO |
| DOI | 10.1109/ICSE55347.2025.00081 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Xplore IEEE Proceedings Order Plans (POP) 1998-present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEL url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 9798331505691 |
| EISSN | 1558-1225 |
| EndPage | 2124 |
| ExternalDocumentID | 11029929 |
| Genre | orig-research |
| GroupedDBID | -~X .4S .DC 29O 5VS 6IE 6IF 6IH 6IK 6IL 6IM 6IN 8US AAJGR AAWTH ABLEC ADZIZ ALMA_UNASSIGNED_HOLDINGS ARCSS AVWKF BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO EDO FEDTE I-F IEGSK IJVOP IPLJI M43 OCL RIE RIL RIO |
| ID | FETCH-LOGICAL-a260t-2420ace8a65b1e65c185bace8b67f987f67d17bc7ba4fff814a2d37703f7b31e3 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 0 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001538318100165&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Wed Aug 27 01:40:27 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a260t-2420ace8a65b1e65c185bace8b67f987f67d17bc7ba4fff814a2d37703f7b31e3 |
| PageCount | 12 |
| ParticipantIDs | ieee_primary_11029929 |
| PublicationCentury | 2000 |
| PublicationDate | 2025-April-26 |
| PublicationDateYYYYMMDD | 2025-04-26 |
| PublicationDate_xml | – month: 04 year: 2025 text: 2025-April-26 day: 26 |
| PublicationDecade | 2020 |
| PublicationTitle | Proceedings / International Conference on Software Engineering |
| PublicationTitleAbbrev | ICSE |
| PublicationYear | 2025 |
| Publisher | IEEE |
| Publisher_xml | – name: IEEE |
| SSID | ssj0006499 |
| Score | 2.2897975 |
| Snippet | The heterogeneous nature of contemporary software, comprising components like closed-source libraries, embedded assembly snippets, and modules written in... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 2113 |
| SubjectTerms | Assembly Binary codes Bridges Computer architecture Computer languages Heterogeneous program Libraries Program verification RISC-V Semantics Software Software engineering Source coding |
| Title | Hetrify: Efficient Verification of Heterogeneous Programs on RISC-V |
| URI | https://ieeexplore.ieee.org/document/11029929 |
| WOSCitedRecordID | wos001538318100165&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwELZoxcBUHkW85YE1NE4c22GNWrVLVVGoulV2ciexNKgPJP49ZzctLAxskSOdpYvPX-75MfaIaI01VUWGVOaRRIWRjeMyop9rQI_vDmQgm9DjsZnP80nTrB56YQAgFJ_Bk38MufyqLrc-VNYjqKLbM8lbrKW12jVrHa5dReKb3jgR571RMe1nWSo1-YCJj5vEfnT1LwaVACCDzj-3PmXdn1Y8PjmAzBk7guU56-y5GHhjmhesGHpqLPx65v0wFIKk8RmdLmxicrxGPvSlLzWdGCB330v1lVlrTi9fRtMimnXZ26D_WgyjhiAhsuSGbHw6N7YlGKsyJ0BlJYGv8wtOacyNRqUroV2pnZWIaIS0SZVqMnLULhWQXrL2sl7CFePWAgE9-U6YgSQ7NdIJUwkbV6CkQnHNul4pi4_dDIzFXh83f6zfshOvd593SdQda29WW7hnx-Xn5n29eghf7hsKsppp |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwELagIMFUHkW8ycAaGieO7bBGrVJRqoqWqltlJ3cSS4P6QOLfc05DYWFgs2zJlmyfP9_ju2PsHtFoo4uCBClPfIESfRMEuU-fa0CH7xZEVWxCDQZ6Ok2GNVm94sIAQBV8Bg-uWfnyizJfO1NZm6CKXs8w2WV7sRBhsKFrbR9eSQvU7DgeJO1eOurEcSQUaYGhs5wELnn1rxoqFYR0m_9c_Ii1fsh43nALM8dsB-YnrPldjcGrhfOUpZkrjoWfj16nSgtBs3kTul9YW-W8Er3MBb-UdGeAFH43q4vNWno0-NIbpf6kxV67nXGa-XWJBN-QIrJyDt3A5KCNjC0HGecEv9Z1WKkw0QqlKriyubJGIKLmwoRFpEjMUdmIQ3TGGvNyDufMMwYI6kl7whgESaoWluuCm6AAKSTyC9ZymzJ732TBmH3vx-Uf_XfsIBs_92f93uDpih26M3BemFBes8ZqsYYbtp9_rN6Wi9vqFL8ARCidsA |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Hetrify%3A+Efficient+Verification+of+Heterogeneous+Programs+on+RISC-V&rft.au=Li%2C+Yiwei&rft.au=Yin%2C+Liangze&rft.au=Dong%2C+Wei&rft.au=Liu%2C+Jiaxin&rft.date=2025-04-26&rft.pub=IEEE&rft.eissn=1558-1225&rft.spage=2113&rft.epage=2124&rft_id=info:doi/10.1109%2FICSE55347.2025.00081&rft.externalDocID=11029929 |