Abstract:
Static analysis tools are recurrently used by developers to search for vulnerabilities in the source code of web applications. However, distinct tools provide different r...Show MoreMetadata
Abstract:
Static analysis tools are recurrently used by developers to search for vulnerabilities in the source code of web applications. However, distinct tools provide different results depending on factors such as the complexity of the code under analysis and the application scenario; thus, missing some of the vulnerabilities while reporting false problems. Benchmarks can be used to assess and compare different systems or components, however, existing benchmarks have strong representativeness limitations, disregarding the specificities of the environment, where the tools under benchmarking will be used. In this paper, we propose a benchmark for assessing and comparing static analysis tools in terms of their capability to detect security vulnerabilities. The benchmark considers four real-world development scenarios, including workloads composed of real web applications with different goals and constraints, ranging from low budget to high-end applications. Our benchmark was implemented and assessed experimentally using a set of 134 WordPress plugins, which served as the basis for the evaluation of five free PHP static analysis tools. Results clearly show that the best solution depends on the deployment scenario and class of vulnerability being detected; therefore, highlighting the importance of these aspects in the design of the benchmark and of future static analysis tools.
Published in: IEEE Transactions on Reliability ( Volume: 67, Issue: 3, September 2018)
Keywords assist with retrieval of results and provide a means to discovering other relevant content. Learn more.
- IEEE Keywords
- Index Terms
- Static Analysis ,
- Source Code ,
- Real Applications ,
- Web Application ,
- Security Vulnerabilities ,
- Complex Code ,
- Application Code ,
- Vulnerability Classes ,
- Informatics ,
- False Alarm ,
- Diagonal Line ,
- Application In Settings ,
- Object-oriented ,
- Manual Review ,
- Values Of Metrics ,
- Limited Tools ,
- Software Quality ,
- Positive Instances ,
- Manual Assessment ,
- Quality Of Applications ,
- Main Metrics ,
- Negative Instances ,
- Benchmark Approaches ,
- Results Of Tools ,
- Markedness ,
- Highest Detection Rate ,
- Simplicity Of Use ,
- Plot Chart ,
- False Positive Rate
- Author Keywords
Keywords assist with retrieval of results and provide a means to discovering other relevant content. Learn more.
- IEEE Keywords
- Index Terms
- Static Analysis ,
- Source Code ,
- Real Applications ,
- Web Application ,
- Security Vulnerabilities ,
- Complex Code ,
- Application Code ,
- Vulnerability Classes ,
- Informatics ,
- False Alarm ,
- Diagonal Line ,
- Application In Settings ,
- Object-oriented ,
- Manual Review ,
- Values Of Metrics ,
- Limited Tools ,
- Software Quality ,
- Positive Instances ,
- Manual Assessment ,
- Quality Of Applications ,
- Main Metrics ,
- Negative Instances ,
- Benchmark Approaches ,
- Results Of Tools ,
- Markedness ,
- Highest Detection Rate ,
- Simplicity Of Use ,
- Plot Chart ,
- False Positive Rate
- Author Keywords