Oyster: an approach to software quality analysis using metrics association rules

  • Daniel D. C. Ribeiro UFF
  • Alexandre Plastino UFF
  • Leonardo Murta UFF

Abstract


A key element to control the software quality, not only reacting to its variation, is the understanding of which factors influence the quality attributes and how they influence each other. In this work, we present the Ostra approach, which allows the historical analysis of software by mining association rules of its metrics, extracted from the historic information storedin version control systems. The Ostra’s goal is to provide information to decision-making process. We also present experiments in which the Ostra approach is applied to real projects. With these experiments, it was possible to find evidences that the proposed approach can achieve its goals.
Keywords: Software Quality, Metrics Association Rules, Oyster Approach

References

Agrawal, R. and Srikant, R. (1994). Fast Algorithms for Mining Association Rules in Large Databases. In International Conference on Very Large Data Bases. VLDB 1994. Morgan Kaufmann.

Apache Software Foundation (2011). Apache Maven. Apache Software Foundation.

Bansiya, J. and Davis, C. G. (2002). A Hierarchical Model for Object-Oriented Design Quality Assessment. IEEE Transactions on Software Engineering, v. 28, p. 4–17.

Colares, F., Souza, J., Carmo, R., Pádua, C. and Mateus, G. R. (2009). A New Approach to the Software Release Planning. In Proceedings of the 2009 XXIII Brazilian Symposium on Software Engineering. , SBES 2009. IEEE Computer Society.

Collins-Sussman, B., Fitzpatrick, B. W. and Pilato, C. M. (2008). Version Control with Subversion. Sebastpol, CA, USA: O’Reilly Media. v. 2

Dart, S. (1991). Concepts in configuration management systems. In Proceedings of the 3rd international workshop on Software configuration management. SCM ’91. ACM.

Dick, S., Meeks, A., Last, M., Bunke, H. and Kandel, A. (2004). Data mining in software metrics databases. Fuzzy Sets and Systems, v. 145, n. 1, p. 81–110.

Erlikh, L. (2000). Leveraging Legacy System Dollars for E-Business. IT Professional, v. 2, p. 17–23.

Han, J., Kamber, M. and Pei, J. (2011). Data Mining: Concepts and Techniques, Third Edition. 3. ed. San Francisco, CA, USA: Morgan Kaufmann.

Henderson-Sellers, B. (1995). Object-oriented metrics: measures of complexity. Upper Saddle River, NJ, USA: Prentice-Hall, Inc.

IEEE (1990). Std 610.12 - IEEE Standard Glossary of Software Engineering Terminology. Institute of Electrical and Electronics Engineers.

Júnior, M. C., Mendonça, M. and Rodrigues, F. (2009). Mining Software Change History in an Industrial Environment. In Proceedings of the 2009 XXIII Brazilian Symposium on Software Engineering. SBES 2009. IEEE Computer Society.

Kim, S., Zimmermann, Thomas, Pan, K. and Whitehead, E. J. (2006). Automatic identification of bug-introducing changes. In Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering. ASE 2006. IEEE Computer Society Press.

Martin, G. R. R. (1996). A Game of Thrones. 1. ed. New York, NY, USA: Bantam.

McCabe, T. J. (1976). A Complexity Measure. IEEE Transactions on Software Engineering, v. 2, p. 308–320.

Nagappan, N., Ball, T. and Zeller, Andreas (2006). Mining metrics to predict component failures. In Proceedings of the International Conference on Software Engineering Advances. ICSE 2006. ACM.

Pressman, R. (2001). Software Engineering - A Practitioner’s Approach. 5. ed. New York, NY, USA: McGraw-Hill Higher Education.

Ribeiro, D. D. C. (2012). Ostra: Um Estudo do Histórico da Qualidade do Software Através de Regras de Associação de Métricas. Universidade Federal Fluminense - UFF.

Robles, G., Gonzalez-Barahona, J. M., Michlmayr, M. and Amor, J. J. (2006). Mining large software compilations over time: another perspective of software evolution. In Proceedings of the 2006 International Workshop Conference on Mining Software Repositories. MSR 2006. ACM.

Wermelinger, M. and Yu, Y. (2008). Analyzing the evolution of eclipse plugins. In Proceedings of the 2008 International Working Conference on Mining Software Repositories. MSR 2008. ACM.

Wiegers, K. (2003). Software Requirements. 2. ed. Redmond, Washington: Microsoft Press.

Witten, I. H., Frank, E. and Hall, M. A. (2011). Data Mining: Practical Machine Learning Tools and Techniques, Third Edition. 3. ed. Morgan Kaufmann.

Zimmermann, T., Weisgerber, P., Diehl, S. and Zeller, A. (2004). Mining version histories to guide software changes. In Proceedings of the 26th International Conference on Software Engineering. ICSE 2004. IEEE Computer Society.
Published
2013-07-01
RIBEIRO, Daniel D. C.; PLASTINO, Alexandre; MURTA, Leonardo. Oyster: an approach to software quality analysis using metrics association rules. In: BRAZILIAN SOFTWARE QUALITY SYMPOSIUM (SBQS), 12. , 2013, Salvador. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2013 . p. 351-365. DOI: https://doi.org/10.5753/sbqs.2013.15299.