CQE - An Approach to Automatically Estimate the Code Quality using an Objective Metric From an Empirical Study

Saima Arif, Miao Wang, Philip Perry, John Murphy

2013

Abstract

Bugs in a project, at any stage of Software life cycle development are costly and difficult to find and fix. Moreover, the later a bug is found, the more expensive it is to fix. There are static analysis tools to ease the process of finding bugs, but their results are not easy to filter out critical errors and is time consuming to analyze. To solve this problem we used two steps: first to enhance the bugs severity and second is to estimate the code quality, by Weighted Error Code Density metric. Our experiment on 10 widely used open-source Java applications automatically shows their code quality estimated using our objective metric. We also enhance the error ranking of FindBugs, and provide a clear view on the critical errors to fix as well as low priority ones to potentially ignore.

References

  1. Ayewah, N., Hovemeyer, D., Morgenthaler, J., Penix, J., and Pugh, W. (2008). Using static analysis to find bugs. Software, IEEE, 25(5):22 -29.
  2. Ayewah, N. and Pugh, W. (2009). Using checklists to review static analysis warnings. DEFECTS 7809, pages 11-15, New York, NY, USA. ACM.
  3. Ayewah, N., Pugh, W., Morgenthaler, J. D., Penix, J., and Zhou, Y. (2007). Evaluating static analysis defect warnings on production software. PASTE 7807, pages 1-8, New York, NY, USA. ACM.
  4. Binkley, D. (2007). Source code analysis: A road map. In Future of Software Engineering, 2007. FOSE 7807, pages 104 -119.
  5. Boehm, B. W., Brown, J. R., and Lipow, M. (1976). Quantitative evaluation of software quality. ICSE 7876, pages 592-605, Los Alamitos, CA, USA. IEEE Computer Society Press.
  6. Chirila, C., Juratoni, D., Tudor, D., and Cretu, V. Towards a software quality assessment model based on opensource statical code analyzers. (SACI), 2011, pages 341 -346.
  7. Daniel, G. (2004). Software quality assurance: From theory to implementation. chapter 21. Pearson Education.
  8. Fang, X. (2001). Using a coding standard to improve program quality. In Quality Software, 2001. Proceedings.Second Asia-Pacific Conference on, pages 73 - 78.
  9. Kim, S. and Ernst, M. D. (2007). Which warnings should i fix first? ESEC-FSE 7807, pages 45-54, New York, NY, USA. ACM.
  10. Muntean, G.-M., Perry, P., and Murphy, L. (2007). A comparison-based study of quality-oriented video on demand. Broadcasting, IEEE Transactions on, 53(1):92 -102.
  11. Nagappan, N. and Ball, T. (ICSE,2005). Static analysis tools as early indicators of pre-release defect density. pages 580 - 586.
  12. Rutar, N., Almazan, C., and Foster, J. (2004). A comparison of bug finding tools for java. pages 245 - 256.
  13. Schulmeyer, G. and McManus, J. (1999). Handbook of software quality assurance. Prentice Hall.
  14. Shen, H., Fang, J., and Zhao, J. (ICST,2011). Efindbugs: Effective error ranking for findbugs. pages 299 -308.
  15. Yang, H. and Ward, M. (2003). Successful Evolution Of Software Systems. Artech House Computer Library. Artech House.
Download


Paper Citation


in Harvard Style

Arif S., Wang M., Perry P. and Murphy J. (2013). CQE - An Approach to Automatically Estimate the Code Quality using an Objective Metric From an Empirical Study . In Proceedings of the 8th International Joint Conference on Software Technologies - Volume 1: ICSOFT-EA, (ICSOFT 2013) ISBN 978-989-8565-68-6, pages 198-205. DOI: 10.5220/0004492901980205


in Bibtex Style

@conference{icsoft-ea13,
author={Saima Arif and Miao Wang and Philip Perry and John Murphy},
title={CQE - An Approach to Automatically Estimate the Code Quality using an Objective Metric From an Empirical Study},
booktitle={Proceedings of the 8th International Joint Conference on Software Technologies - Volume 1: ICSOFT-EA, (ICSOFT 2013)},
year={2013},
pages={198-205},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004492901980205},
isbn={978-989-8565-68-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 8th International Joint Conference on Software Technologies - Volume 1: ICSOFT-EA, (ICSOFT 2013)
TI - CQE - An Approach to Automatically Estimate the Code Quality using an Objective Metric From an Empirical Study
SN - 978-989-8565-68-6
AU - Arif S.
AU - Wang M.
AU - Perry P.
AU - Murphy J.
PY - 2013
SP - 198
EP - 205
DO - 10.5220/0004492901980205