Static Code Analyzer Recommendation via Preference Mining
Xiuting Ge, Chunrong Fang, Xuanye Li, Ye Shang, Mengyao, Zhang, Ya Pan

TL;DR
This paper introduces a novel preference mining-based approach to recommend the most effective static code analyzers for specific projects, significantly improving defect detection efficiency over traditional methods.
Contribution
It is the first to propose a practical SCA recommendation method using preference mining, optimizing static analyzer selection based on project characteristics.
Findings
The approach outperforms four baseline methods by 2 to 11 times.
Experimental results on 213 projects demonstrate its effectiveness.
The model accurately predicts the most suitable SCAs for different projects.
Abstract
Static Code Analyzers (SCAs) have played a critical role in software quality assurance. However, SCAs with various static analysis techniques suffer from different levels of false positives and false negatives, thereby yielding the varying performance in SCAs. To detect more defects in a given project, it is a possible way to use more available SCAs for scanning this project. Due to producing unacceptable costs and overpowering warnings, invoking all available SCAs for a given project is impractical in real scenarios. To address the above problem, we are the first to propose a practical SCA recommendation approach via preference mining, which aims to select the most effective SCA for a given project. Specifically, our approach performs the SCA effectiveness evaluation to obtain the correspondingly optimal SCAs on projects under test. Subsequently, our approach performs the SCA…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNatural Language Processing Techniques · Web Data Mining and Analysis · Software Testing and Debugging Techniques
