About the journal
Browse
Collections
Multimedia collections
Authors & reviewers
TPLaser: a method for precise detection and version identification of TPL based on multi-level filtering
Song TIAN , Qingbao LI , Guimin ZHANG , Bocheng XU
Front. Comput. Sci. ›› 2027, Vol. 21 ›› Issue (8) : 2108811
Third-party libraries (TPLs) are widely used in software development due to their advantages such as providing reusable components, shortening development cycles, and reducing costs. However, the extensive use of TPLs also introduce security risks: outdated or untimely updated TPLs often contain known vulnerabilities. Software Composition Analysis (SCA) is an important method to identify and supervise the use of TPL in program projects. However, the existing methods have some problems, such as that reuse determination relies on the proportion of matched reused functions, the difficulty in identifying partial reuse and the inaccurate version judgment. Therefore, we propose TPLaser, a multi-level filtering-based approach for precise TPL detection and version identification, aiming to achieve high-precision detection of reused TPLs and their versions in source code programs. TPLaser first constructs a TPL library covering 26,551 open-source projects and 722,024 versions. Then, it sequentially identifies and filters cloned functions, supporting functions, and common functions to extract a core function set that constitutes the unique fingerprint of the TPL; finally, it utilizes these highly discriminative core function features for precise matching against the target program code, and combines version evolution graph to identify TPL version information. Compared with existing advanced tools, TPL detection achieves accuracy and recall rates of 88.85% and 90.20%, respectively. In TPL version detection, TPLaser also demonstrates high accuracy (82.10%).
Software composition analysis / third-party library / software security
| [1] |
Synopsys. 2026 Open source security and risk analysis report. See blackduck.com/resources/analyst-reports/open-source-security-risk-analysis website, 2026 |
| [2] |
|
| [3] |
Synopsys. See synopsys.com/zh-cn website, 2025 |
| [4] |
Tencent. Iot terminal security white paper. See cloud.tencent.com.cn/developer/article/1799052 website, 2021 |
| [5] |
|
| [6] |
Duan R, Bijlani A, Xu M, Kim T, Lee W. Identifying open-source license violation and 1-day security risk at large scale. In: Proceedings of 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017, 2169–2185 |
| [7] |
|
| [8] |
|
| [9] |
|
| [10] |
Woo S, Park S, Kim S, Lee H, Oh H. Centris: a precise and scalable approach for identifying modified open-source software reuse. In: Proceedings of the 43rd IEEE/ACM International Conference on Software Engineering (ICSE). 2021, 860–872 |
| [11] |
Hai X, Zeng J, Fu Z, Chen S, Shi Y, Sun H, Wang J, He F, Zhang Y. OSSDetector: towards a more accurate approach for C/C++ third-party library detection. In: Proceedings of the 24th IEEE International Conference on Trust, Security and Privacy in Computing and Communications. 2025, 2433–2438 |
| [12] |
Wu J, Xu Z, Tang W, Zhang L, Wu Y, Liu C, Sun K, Zhao L, Liu Y. OSSFP: precise and scalable C/C++ third-party library detection using fingerprinting functions. In: Proceedings of the 45th IEEE/ACM International Conference on Software Engineering (ICSE). 2023, 270–282 |
| [13] |
|
| [14] |
|
| [15] |
Bernstein D J. Tweetnac. See tweetnacl.cr.yp.to/ website, 2017 |
| [16] |
|
| [17] |
GitHub. See github.com/ website, 2025 |
| [18] |
GitHub. universal-ctags. See github.com/universal-ctags/ctags website, 2022 |
| [19] |
Git. See git-scm.com/?hl=zh-cn website, 2014 |
| [20] |
|
| [21] |
dspinellis. tokenizer. See github.com/dspinellis/tokenizer website, 2019 |
| [22] |
|
| [23] |
Microsoft. Code metrics values. See learn.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2015/code-quality/code-metrics-values?view=vs-2015&redirectedfrom=MSDN website, 2016 |
| [24] |
IBM. Maintainability index report. See ibm.com/docs/en/addi/6.1.3?topic=reports-maintainability-index-report website, 2025 |
| [25] |
|
| [26] |
|
| [27] |
MySQL. See mysql.com/cn website, 2026 |
| [28] |
Ushakov R, Doynikova E, Novikova E, Kotenko I. CPE and CVE based technique for software security risk assessment. In: Proceedings of the 11th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS). 2021, 353–356 |
| [29] |
|
| [30] |
google. snappy. See github.com/google/snappy website, 2025 |
| [31] |
arangodb. arangodb. See github.com/arangodb/arangodb website, 2025 |
| [32] |
|
| [33] |
|
| [34] |
|
| [35] |
|
| [36] |
ssdeep Project. ssdeep. See ssdeep-project.github.io/ssdeep/index website, 2018 |
| [37] |
Choi Y, Woo S. Tiver: identifying adaptive versions of C/C++ third-party open-source components using a code clustering technique. In: Proceedings of the 47th IEEE/ACM International Conference on Software Engineering (ICSE). 2025, 2458–2469 |
| [38] |
anyrtcIO-Community. anyRTC-RTMP-OpenSource issue #167. See github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource/issues website, 2025 |
| [39] |
Ragkhitwetsagul C, Krinke J. Using compilation/decompilation to enhance clone detection. In: Proceedings of the 11th IEEE International Workshop on Software Clones (IWSC). 2017, 1–7 |
| [40] |
|
| [41] |
|
| [42] |
|
| [43] |
|
| [44] |
Verma A, Udhayanan P, Shankar R M, KN N, Chakrabarti S K. Source-code similarity measurement: syntax tree fingerprinting for automated evaluation. In: Proceedings of the 1st International Conference on AI-ML Systems. 2021, 8 |
| [45] |
|
| [46] |
|
| [47] |
|
| [48] |
|
| [49] |
|
| [50] |
Leone F, Takada S. Towards overcoming type limitations in semantic clone detection. In: Proceedings of the 16th IEEE International Workshop on Software Clones (IWSC). 2022, 25–31 |
| [51] |
SohC, Kuan Tan H B, Arnatovich Y L, Narayanan A, Wang L. LibSift: automated detection of third-party libraries in android applications. In: Proceedings of the 23rd Asia-Pacific Software Engineering Conference (APSEC). 2016, 41–48 |
| [52] |
Zhang Y, Dai J, Zhang X, Huang S, Yang Z, Yang M, Chen H. Detecting third-party libraries in android applications with high precision and recall. In: Proceedings of the 25th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). 2018, 141–152 |
| [53] |
|
| [54] |
|
| [55] |
|
| [56] |
|
| [57] |
|
| [58] |
Jiang L, An J, Huang H, Tang Q, Nie S, Wu S, Zhang Y. BinaryAI: binary software composition analysis via intelligent binary source code matching. In: Proceedings of the 46th IEEE/ACM International Conference on Software Engineering. 2024, 224 |
| [59] |
Yu W, Li S, Huang M, Li M, Xi R, Zhu H. LibRI: a module analysis framework for identifying complex reuse relationship in binaries. In: Proceedings of the 28th International Conference on Computer Supported Cooperative Work in Design (CSCWD). 2025, 2139–2144 |
| [60] |
|
| [61] |
Li M, Wang W, Wang P, Wang S, Wu D, Liu J, Xue R, Huo W. LibD: scalable and precise third-party library detection in android markets. In: Proceedings of the 39th IEEE/ACM International Conference on Software Engineering (ICSE). 2017, 335–346 |
| [62] |
|
Higher Education Press
/
| 〈 |
|
〉 |