Prioritizing software security fortification throughcode-level metrics
Authors:
Open Access
- 27 October 2008
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 31-38
Abstract
Limited resources preclude software engineers from finding and fixing all vulnerabilities in a software system. We create predictive models to identify which components are likely to have the most security risk. Software engineers can use these models to make measurement-based risk management decisions and to prioritize software security fortification efforts, such as redesign and additional inspection and testing. We mined and analyzed data from a large commercial telecommunications software system containing over one million lines of code that had been deployed to the field for two years. Using recursive partitioning, we built attack-prone prediction models with the following code-level metrics: static analysis tool alert density, code churn, and count of source lines of code. One model identified 100% of the attack-prone components (40% of the total number of components) with an 8% false positive rate. As such, the model could be used to prioritize fortification efforts in the system.Keywords
This publication has 14 references indexed in Scilit:
- Predicting vulnerable software components2007
- The Athens AffairIEEE Spectrum, 2007
- Predicting component failures at design time2006
- On the value of static analysis for fault detection in softwareIEEE Transactions on Software Engineering, 2006
- Static analysis tools as early indicators of pre-release defect density2005
- Where the bugs are2004
- The Elements of Statistical Learning2001
- A validation of object-oriented design metrics as quality indicatorsIEEE Transactions on Software Engineering, 1996
- The detection of fault-prone programsIEEE Transactions on Software Engineering, 1992
- Hints on Test Data Selection: Help for the Practicing ProgrammerComputer, 1978