全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...

Static Analysis and Code Complexity Metrics as Early Indicators of Software Defects

DOI: 10.4236/jsea.2018.114010, PP. 153-166

Keywords: Static Analysis Tools, Complexity Metrics, Software Quality Assurance, Statistical Methods, Fault Proneness

Full-Text   Cite this paper   Add to My Lib

Abstract:

Software is an important part of automotive product development, and it is commonly known that software quality assurance consumes considerable effort in safety-critical embedded software development. Increasing the effectiveness and efficiency of this effort thus becomes more and more important. Identifying problematic code areas which are most likely to fail and therefore require most of the quality assurance attention is required. This article presents an exploratory study investigating whether the faults detected by static analysis tools combined with code complexity metrics can be used as software quality indicators and to build pre-release fault prediction models. The combination of code complexity metrics with static analysis fault density was used to predict the pre-release fault density with an accuracy of 78.3%. This combination was also used to separate high and low quality components with a classification accuracy of 79%.

References

[1]  Rana, R., Staron, M., Hansson, J. and Nilsson, M. (2014) Defect Prediction over Software Life Cycle in Automotive Domain State of the Art and Road Map for Future. 9th International Conference on Software Engineering and Applications, Vienna, 29-31 August 2014, 377-382.
[2]  Haghighatkhah, A., Oivo, M., Banijamali, A. and Kuvaja, P. (2017) Improving the State of Automotive Software Engineering. IEEE Software, 34, 82-86.
https://doi.org/10.1109/MS.2017.3571571
[3]  Singh, P., Pal, N.R., Verma, S. and Vyas, O.P. (2017) Fuzzy Rule-Based Approach for Software Fault Prediction. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 47, 826-837.
[4]  Nagappan, N., Ball, T. and Zeller, A. (2006) Mining Metrics to Predict Component Failures. Proceedings of the 28th International Conference on Software Engineering, Shanghai, 20-28 May 2006, 452-461.
[5]  Briand, L.C., Wüst, J., Ikonomovski, S.V. and Lounis, H. (1999) Investigating Quality Factors in Object-Oriented Designs: An Industrial Case Study. Proceedings of the 21st International Conference on Software Engineering in ICSE 99, Los Angeles, 22 May 1999, 345-354.
[6]  Madureira, J.S., Barroso, A.S., do Nascimento, R.P.C. and Soares, M.S. (2017) An Experiment to Evaluate Software Development Teams by Using Object-Oriented Metrics. In: Gervasi, O., Murgante, B., Misra, S., Borruso, G., Torre, C.M., Rocha, A.M., Taniar, D., Apduhan, B.O., Stankova, E. and Cuzzocrea, A., Eds., Computational Science and Its Applications, Springer International Publishing, Cham, 128-144.
[7]  Subramanyam, R. and Krishnan, M.S. (2003) Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects. IEEE Transactions on Software Engineering, 29, 297-310.
[8]  Tang, M.-H., Kao, M.-H. and Chen, M.-H. (1999) An Empirical Study on Object-Oriented Metrics. Proceedings of the 6th International Symposium on Software Metrics, Boca Raton, 4-6 November 1999, 242-249.
[9]  Feist, J., Mounier, L., Bardin, S., David, R. and Potet, M.-L. (2016) Finding the Needle in the Heap: Combining Static Analysis and Dynamic Symbolic Execution to Trigger Use-after-Free. Proceedings of the 6th Workshop on Software Security, Protection, and Reverse Engineering in SSPREW 16, Los Angeles, 5-6 December 2016, 1-12.
https://doi.org/10.1145/3015135.3015137
[10]  Avgerinos, T., Rebert, A. and Brumley, D. (2017) Methods and Systems for Automatically Testing Software. US Patent No. 9619375.
[11]  Singh, D., Sekar, V.R., Stolee, K.T. and Johnson, B. (2017) Evaluating How Static Analysis Tools Can Reduce Code Review Effort. IEEE Symposium on Visual Languages and Human-Centric Computing, Raleigh, 11-14 October 2017, 101-105.
[12]  Yadav, H.B. and Yadav, D.K. (2017) Early Software Reliability Analysis using Reliability Relevant Software Metrics. International Journal of System Assurance Engineering and Management, 8, 2097-2108.
[13]  Denaro, G., Morasca, S. and Pezzè, M. (2002) Deriving Models of Software Fault-Proneness. Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering in SEKE 02, Ischia, 15-19 July 2002, 361-368.
https://doi.org/10.1145/568760.568824
[14]  Chidamber, S.R. and Kemerer, C.F. (1994) A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, 20, 476-493.
https://doi.org/10.1109/32.295895
[15]  Basili, V.R., Briand, L.C. and Melo, W.L. (1996) A Validation of Object-Oriented Design Metrics As Quality Indicators. IEEE Transactions on Software Engineering, 22, 751-761.
https://doi.org/10.1109/32.544352
[16]  Khoshgoftaar, T.M., Munson, J.C. and Lanning, D.L. (1993) A Comparative Study of Predictive Models for Program Changes during System Testing and Maintenance. In: Proceedings of the Conference on Software Maintenance, IEEE Computer Society, Washington DC, 72-79.
[17]  Munson, J.C. and Khoshgoftaar, T.M. (1990) Regression Modelling of Software Quality: Empirical Investigation. Information and Software Technology, 32, 106-114.
[18]  Jackson, J. and Edward. (2003) A User’s Guide to Principal Components of Wiley Series in Probability and Statistics. John Wiley & Sons, Hoboken.
[19]  Jolliffe, I.T. and Cadima, J. (2016) Principal Component Analysis: A Review and Recent Developments. Philosophical Transactions. Series A, Mathematical, Physical, and Engineering Sciences, 374, Article ID: 20150202.
https://doi.org/10.1098/rsta.2015.0202
[20]  Nagappan, N., Williams, L., Hudepohl, J., Snipes, W. and Vouk, M. (2004) Preliminary Results on Using Static Analysis Tools for Software Inspection. Proceedings of the 15th International Symposium on Software Reliability Engineering, Saint-Malo, 2-5 November 2004, 429-439.
[21]  Nagappan, N. and Ball, T. (2005) Static Analysis Tools as Early Indicators of Pre-Release Defect Density. Proceedings of the 27th International Conference on Software Engineering, St. Louis, 15-21 May 2005, 580-586.
[22]  Schneidewind, N.F. (1992) Methodology for Validating Software Metrics. IEEE Transactions on Software Engineering, 18, 410-422.
[23]  Boehm, B. and Turner, R. (2003) Using Risk to Balance Agile and Plan-Driven Methods. Computer, 36, 57-66.
https://doi.org/10.1109/MC.2003.1204376

Full-Text

Contact Us

service@oalib.com

QQ:3279437679

WhatsApp +8615387084133