TY - GEN
T1 - Plagiarism detection for multithreaded software based on thread-aware software birthmarks
AU - Tian, Zhenzhou
AU - Zheng, Qinghua
AU - Liu, Ting
AU - Fan, Ming
AU - Zhang, Xiaodong
AU - Yang, Zijiang
N1 - Publisher Copyright:
Copyright © 2014 ACM.
PY - 2014/6/2
Y1 - 2014/6/2
N2 - The availability of inexpensive multicore hardware presents a turning point in software development. In order to benefit from the continued exponential throughput advances in new processors, the software applications must be multithreaded programs. As multithreaded programs become increasingly popular, plagiarism of multithreaded programs starts to plague the software industry. Although there has been tremendous progress on software plagiarism detection technology, existing dynamic approaches remain optimized for sequential programs and cannot be applied to multithreaded programs without significant redesign. This paper fills the gap by presenting two dynamic birthmark based approaches. The first approach extracts key instructions while the second approach extracts system calls. Both approaches consider the effect of thread scheduling on computing software birthmarks. We have implemented a prototype based on the Pin instrumentation framework. Our empirical study shows that the proposed approaches can effectively detect plagiarism of multithread programs and exhibit strong resilience to various semantic-preserving code obfuscations.
AB - The availability of inexpensive multicore hardware presents a turning point in software development. In order to benefit from the continued exponential throughput advances in new processors, the software applications must be multithreaded programs. As multithreaded programs become increasingly popular, plagiarism of multithreaded programs starts to plague the software industry. Although there has been tremendous progress on software plagiarism detection technology, existing dynamic approaches remain optimized for sequential programs and cannot be applied to multithreaded programs without significant redesign. This paper fills the gap by presenting two dynamic birthmark based approaches. The first approach extracts key instructions while the second approach extracts system calls. Both approaches consider the effect of thread scheduling on computing software birthmarks. We have implemented a prototype based on the Pin instrumentation framework. Our empirical study shows that the proposed approaches can effectively detect plagiarism of multithread programs and exhibit strong resilience to various semantic-preserving code obfuscations.
KW - Multithreaded program
KW - Plagiarism detection
KW - Software birthmark
UR - https://www.scopus.com/pages/publications/84942515677
U2 - 10.1145/2597008.2597143
DO - 10.1145/2597008.2597143
M3 - 会议稿件
AN - SCOPUS:84942515677
T3 - 22nd International Conference on Program Comprehension, ICPC 2014 - Proceedings
SP - 304
EP - 313
BT - 22nd International Conference on Program Comprehension, ICPC 2014 - Proceedings
PB - Association for Computing Machinery
T2 - 22nd International Conference on Program Comprehension, ICPC 2014
Y2 - 2 June 2014 through 3 June 2014
ER -