Interpretation-enabled Software Reuse Detection Based on a Multi-Level Birthmark Model

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.authorXu, Xien_US
dc.contributor.authorZheng, Qinghuaen_US
dc.contributor.authorYan, Zhengen_US
dc.contributor.authorFan, Mingen_US
dc.contributor.authorJia, Angen_US
dc.contributor.authorLiu, Tingen_US
dc.contributor.departmentDepartment of Communications and Networkingen
dc.contributor.groupauthorNetwork Security and Trusten
dc.contributor.organizationXi'an Jiaotong Universityen_US
dc.date.accessioned2021-09-08T06:56:17Z
dc.date.available2021-09-08T06:56:17Z
dc.date.issued2021-05-07en_US
dc.description.abstractSoftware reuse, especially partial reuse, poses legal and security threats to software development. Since its source codes are usually unavailable, software reuse is hard to be detected with interpretation. On the other hand, current approaches suffer from poor detection accuracy and efficiency, far from satisfying practical demands. To tackle these problems, in this paper, we propose ISRD, an interpretation-enabled software reuse detection approach based on a multi-level birthmark model that contains function level, basic block level, and instruction level. To overcome obfuscation caused by cross-compilation, we represent function semantics with Minimum Branch Path (MBP) and perform normalization to extract core semantics of instructions. For efficiently detecting reused functions, a process for “intent search based on anchor recognition” is designed to speed up reuse detection. It uses strict instruction match and identical library call invocation check to find anchor functions (in short anchors) and then traverses neighbors of the anchors to explore potentially matched function pairs. Extensive experiments based on two real-world binary datasets reveal that ISRD is interpretable, effective, and efficient, which achieves 97.2% precision and 94. 8% recall. Moreover, it is resilient to cross-compilation, outperforming state-of-the-art approaches.en
dc.description.versionPeer revieweden
dc.format.extent12
dc.format.mimetypeapplication/pdfen_US
dc.identifier.citationXu, X, Zheng, Q, Yan, Z, Fan, M, Jia, A & Liu, T 2021, Interpretation-enabled Software Reuse Detection Based on a Multi-Level Birthmark Model. in Proceedings of 43rd IEEE/ACM International Conference on Software Engineering, ICSE 2021. Proceedings - International Conference on Software Engineering, IEEE, pp. 873-884, International Conference on Software Engineering, Virtual, Online, Spain, 25/05/2021. https://doi.org/10.1109/ICSE43902.2021.00084en
dc.identifier.doi10.1109/ICSE43902.2021.00084en_US
dc.identifier.isbn978-1-6654-0296-5
dc.identifier.isbn978-0-7381-1319-7
dc.identifier.issn1558-1225
dc.identifier.otherPURE UUID: f917e708-5610-49f6-aadc-8d054caf0fd1en_US
dc.identifier.otherPURE ITEMURL: https://research.aalto.fi/en/publications/f917e708-5610-49f6-aadc-8d054caf0fd1en_US
dc.identifier.otherPURE FILEURL: https://research.aalto.fi/files/62651134/ELEC_Xu_etal_Interpretation_enabled_Software_Reuse_ICSE_2021_acceptedauthormanuscript.pdf
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/109873
dc.identifier.urnURN:NBN:fi:aalto-202109089101
dc.language.isoenen
dc.relation.ispartofInternational Conference on Software Engineeringen
dc.relation.ispartofseriesProceedings of 43rd IEEE/ACM International Conference on Software Engineering, ICSE 2021en
dc.relation.ispartofseriespp. 873-884en
dc.relation.ispartofseriesProceedings - International Conference on Software Engineeringen
dc.rightsopenAccessen
dc.titleInterpretation-enabled Software Reuse Detection Based on a Multi-Level Birthmark Modelen
dc.typeA4 Artikkeli konferenssijulkaisussafi
dc.type.versionacceptedVersion

Files