π€ AI Summary
This work addresses the challenge of understanding software vulnerability fixes by proposing VulnTrace, a sentence-level traceability model that establishes fine-grained semantic mappings between natural language descriptions (e.g., trigger conditions, crash symptoms, and fix actions) and corresponding source code statements. Methodologically: (i) we design VulnExtract, a rule- and statistics-based natural language sentence extraction module grounded in 37 discourse patterns, achieving >90% recall; (ii) we build a bilingual alignment tracing framework integrating a pre-trained code search model to map sentence pairs to code statement pairs in a structured manner. Our key contribution is the first introduction of a βsentence-pair-to-code-statement-pairβ fine-grained traceability paradigm, overcoming the limitations of conventional single-point mapping and enabling structured reconstruction of vulnerability mechanisms. Experiments show that VulnTrace achieves 68.2% Top-5 accuracy for sentence-pair-to-code-pair matching, and end-to-end Top-5 accuracy of 59.6% (single-vulnerability) and 53.1% (cross-vulnerability).
π Abstract
Understanding software vulnerabilities and their resolutions is crucial for securing modern software systems. This study presents a novel traceability model that links a pair of sentences describing at least one of the three types of semantics (triggers, crash phenomenon and fix action) for a vulnerability in natural language (NL) vulnerability artifacts, to their corresponding pair of code statements. Different from the traditional traceability models, our tracing links between a pair of related NL sentences and a pair of code statements can recover the semantic relationship between code statements so that the specific role played by each code statement in a vulnerability can be automatically identified. Our end-to-end approach is implemented in two key steps: VulnExtract and VulnTrace. VulnExtract automatically extracts sentences describing triggers, crash phenomenon and/or fix action for a vulnerability using 37 discourse patterns derived from NL artifacts (CVE summary, bug reports and commit messages). VulnTrace employs pre-trained code search models to trace these sentences to the corresponding code statements. Our empirical study, based on 341 CVEs and their associated code snippets, demonstrates the effectiveness of our approach, with recall exceeding 90% in most cases for NL sentence extraction. VulnTrace achieves a Top5 accuracy of over 68.2% for mapping a pair of related NL sentences to the corresponding pair of code statements. The end-to-end combined VulnExtract+VulnTrace achieves a Top5 accuracy of 59.6% and 53.1% for mapping two pairs of NL sentences to code statements. These results highlight the potential of our method in automating vulnerability comprehension and reducing manual effort.