skip to main content
10.1145/2597008.2597144acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Domain matters: bringing further evidence of the relationships among anti-patterns, application domains, and quality-related metrics in Java mobile apps

Published:02 June 2014Publication History

ABSTRACT

Some previous work began studying the relationship between application domains and quality, in particular through the prevalence of code and design smells (e.g., anti-patterns). Indeed, it is generally believed that the presence of these smells degrades quality but also that their prevalence varies across domains. Though anecdotal experiences and empirical evidence gathered from developers and researchers support this belief, there is still a need to further deepen our understanding of the relationship between application domains and quality. Consequently, we present a large-scale study that investigated the systematic relationships between the presence of smells and quality-related metrics computed over the bytecode of 1,343 Java Mobile Edition applications in 13 different application domains. Although, we did not find evidence of a correlation between smells and quality- related metrics, we found (1) that larger differences exist between metric values of classes exhibiting smells and classes without smells and (2) that some smells are commonly present in all the domains while others are most prevalent in certain domains

References

  1. AGGARWAL, K.K., SINGH, Y., KAUR, A., and MALHOTRA, R., 2009. Empirical Analysis for Investigating the Effect of Object-Oriented Metrics on Fault Proneness: A Replicated Case Study. Software Process: Improvement and Practice 14, 1 (January), 39- 62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. ANTONIOL, G., FIUTEM, R., and CRISTOFORETTI, L., 1998. Design pattern recovery in object-oriented software. In 6th IEEE International Workshop on Program Understanding (IWPC 1998), 153-160. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BAKOTA, T., HEGEDUS, P., KÖRTVÉLYESI, P., FERENC, R., and GYIMÓTHY, T., 2011. A Probabilistic Software Quality Model. In 27th IEEE International Conference on Software Maintenance (ICSM'11), Williamsburg, Virginia, USA, 243-252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BANSIYA, J. and DAVIS, C.G., 2002. A Hierarchical Model for Object-Oriented Design Quality Assessment. IEEE Transactions on Software Engineering (TSE) 28, 1 (January), 4-17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 (TSE) 22, 10 (October), 751-761. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BINKLEY, A. and SCHACH, S., 1998. Validation of the Coupling Dependency Metric as a Predictor of Run-Time Failures and Maintenance Measures. In 20th International Conference on Software Engineering (ICSE'98), Kyoto, 452-455. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. BRANDT, J., GUO, P.J., LEWENSTEIN, J., KLEMMER, S.R., and DONTCHEVA, M., 2009. Opportunistic Programming: Writing Code to Prototype, Ideate, and Discover. IEEE Software 26, 5, 18-24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. BRIAND, L.C., DALY, J.W., PORTER, V., and WÜST, J., 1998. A Comprehensive Empirical Validation of Design Measures for Object-Oriented Systems. In 5th International Software Metrics Symposium (METRICS'98) IEEE Computer Science, Bethesda, MD, 43-53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. BRIAND, L.C., DALY, J.W., and WÜST, J., 1998. A Unified Framework for Cohesion Measurement in Object-Oriented Systems. Empirical Software Engineering 3, 1, 65-117. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. BRIAND, L.C., WÜST, J., DALY, J.W., and PORTER, V.D., 2000. Exploring the Relationship between Design Measures and Software Quality in Object-Oriented Systems. Journal of System and Software (JSS) 51, 3 (May), 245-273. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. BROWN, W.J., MALVEAU, R.C., MCCORMICK III, H.W., and MOWBRAY, T.J., 1998. AntiPatterns. John Willey & Sons.Google ScholarGoogle Scholar
  12. BRUNTINK, M. and VAN DEURSEN, A., 2006. An empirical study into class testability. Systems and Software 79, 9 (September), 1219-1232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. BURROWS, R., FERRARI, F., LEMOS, O., GARCIA, A., and TAÏANI, F., 2010. The Impact of Coupling on the Fault-Proneness of Aspect-Oriented Programs: An Empirical Study. In IEEE 21st International Symposium on Software Reliability Engineering, San Jose, CA, USA, 329-338. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. BUSE, R.P.L. and WEIMER, W.R., 2010. Learning a Metric for Code Readability. IEEE Transacttions on Software Engineering (TSE) 35, 4 (July-August 2010), 546-558. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. CARTWRIGHT, M. and SHEPPERD, M., 2000. An Empirical Investigacion of an Object-Oriented System. IEEE Transacttions Software Engineering (TSE) 26, 7, 786-796. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. CHIDAMBER, S., DARCY, D., and KEMERER, C., 1998. Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis. IEEE Transactions on Software Engineering (TSE) 24, 8 (August), 629-639. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. CHIDAMBER, S.R. and KEMERER, C.F., 1994. A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering (TSE) 20, 6, 476-493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. CORDER, G.W. and FOREMAN, D.I., 2009. Nonparametric Statistics for Non-Statisticians. John Wilet and Sons.Google ScholarGoogle Scholar
  19. DENARO, G., MORASCA, S., and PEZZÈ, M., 2002. Deriving models of software proneness. In 14th international conference on Software engineering and knowledge engineering (SEKE'02), Ischia, Italy, 361-368. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. DI PENTA, M., CERULO, L., GUÉHÉNEUC, Y.-G., and ANTONIOL, G., 2008. An empirical study of the relationships between design pattern roles and class change proneness. In 24th IEEE International Conference on Software Maintenance (ICSM 2008), Beijing, China, 217-226.Google ScholarGoogle ScholarCross RefCross Ref
  21. EL-EMAM, K., BENLARBI, S., GOEL, N., and RAI, S.N., 2001. The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics. IEEE Transactions on Software Engineering (TSE) 27, 7, 630-650. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. FONTANA, F., FERME, V., MARINO, A., WALTER, B., and MARTENKA, P., 2013. Investigating the Impact of Code Smells on System's Quality: An Empirical Study on Systems of Different Application Domains. In IEEE International Conference on Software Maintenance (ICSM '13), 260-269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. GAMMA, E., HELM, R., JOHNSON, R., and VLISSIDES, J., 1995. Design Patterns. Addison-Wesley Professional.Google ScholarGoogle Scholar
  24. GRISSOM, R.J. and KIM, J.J., 2005. Effect Sizes for Research: A Broad Practical Approach. Lawrence Earlbaum Associates.Google ScholarGoogle Scholar
  25. GUÉHÉNEUC, Y.-G. and ANTONIOL, G., 2008. DeMIMA: A Multilayered Approach for Design Pattern Identification. IEEE Transacttions on Software Engineering (TSE) 34, 5, 667-684. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. GUÉHÉNEUC, Y.-G., SAHRAOUI, H., and ZAIDI, F., 2004. Fingerprinting Design Patterns. In 11th Working Conference on Reverse Engineering (WCRE), 172-181. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. GUÉHÉNEUC, Y.G. and HERVÉ, A.A., 2004. Recovering Binary Class Relationships: Putting Icing on the UML Cake. In 19th Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA'04) ACM Press, 301--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. GUO, Y., SEAMAN, C., ZAZWORKA, N., and SHULL, F., 2010. Domain-specific tailoring of code smells: an empirical study. In ACM/IEEE 32nd International Conference on Software Engineering (ICSE'10), 167-170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. GYIMÓTHY, T., FERENC, R., and SIKET, I., 2005. Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction. IEEE Transactions on Software Engineering (TSE) 31, 10 (October), 897-910. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. ISO/IEC, 2001. ISO/IEC 9126. Software Engineering - Product Quality.Google ScholarGoogle Scholar
  31. JAAFAR, F., GUÉHÉNEUC, Y.-G., HAMEL, S., and F., K., 2013. Mining the Relationship between Anti-patterns Dependencies and Fault-Proneness. In Working Conference on Reverse Engineering (WCRE'13), To appear.Google ScholarGoogle ScholarCross RefCross Ref
  32. JANES, A., SCOTTO, M., PEDRYCZ, W., RUSSO, B., STEFANOVIC, M., and SUCCI, G., 2006. Identification of defectprone classes in telecommunication software systems using design metrics. Information Sciences 177, 2 (December 15), 3711-3734. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. KHOMH, F., DI PENTA, M., GUÉHÉNEUC, Y.-G., and ANTONIOL, G., 2011. An Exploratory Study of the Impact of Antipatterns on Class Change- and Fault-Proneness. Empirical Software Engineering (EMSE). Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. KHOMH, F., GUÉHÉNEUC, Y.-G., and ANTONIOL, G., 2009. Playing roles in design patterns: An empirical descriptive and analytic study. In 25th IEEE International Conference on Software Maintenance (ICSM 2009), Edmonton, AB, 83-92.Google ScholarGoogle ScholarCross RefCross Ref
  35. LANZA, M. and MARINESCU, R., 2006. Object-Oriented Metrics in Practice. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. LI, W. and HENRY, S., 1993. Object-oriented metrics that predict maintainability. Journal of Systems and Software 23, 2, 111-122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. LI, W. and SHATNAWI, R., 2007. An empirical study of the bad smells and class error probability in the post-release object-oriented system evolution. Journal of Systems and Software 80, 7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. MÄNTYLÄ, M.V., VANHANEN, J., and LASSENIUS, C., 2004. Bad Smells - Humans as Code Critics. In International Conference on Software Maintenance (ICSM'04), 399-408. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. MARINESCU, A., 2004. Detection Strategies: Metrics-Based Rules for Detecting Design Flaws. In 20th IEEE International Conference on Software Maintenance (ICSM 2004), 350-359. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. MOHA, N., GUÉHÉNEUC, Y.-G., DUCHIEN, L., and MEUR, A.-F., 2010. DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Transacttions on Software Engineering (TSE) 36, 2 (January 2010), 20-26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. OLAGUE, H., ETZKORN, L., GHOLSTON, S., and QUATTLEBAUM, S., 2007. Empirical Validation of Three Software Metrics Suites to Predict Fault-Proneness of Object-Oriented Classes Developed Using Highly Iterative or Agile Software Development Processes. IEEE Transactions on Software Engineering (TSE) 33, 6 (June), 402-419. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. OLBRICH, S.M., CRUZES, D.S., and SJOBERG, D.I.K., 2010. Are all code smells harmful? A study of God Classes and Brain Classes in the evolution of three open source systems. In IEEE International Conference on Sofftware Maintenance (ICSM'10), 1- 10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. PALOMBA, F., BAVOTA, G., DI PENTA, M., OLIVETO, R., DE LUCIA, A., and POSHYVANYK, D., 2013. Detecting Bad Smells in Source Code Using Change History Information. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE'13) (Palo Alto, CA, November 11-15 2013).Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. POSNETT, D., BIRD, C., and DÉVANBU, P., 2011. An Empirical Study on the Influence of Pattern Roles on Change-Proneness. Empirical Software Engineering (EMSE) 16, 3 (June 2011), 396- 423. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. ROMANO, D., RAILA, P., PINZGER, M., and F., K., 2012. Analyzing the Impact of Antipatterns on Change-Proneness Using Fine-Grained Source Code Changes. In 19th Working Conference on Reverse Engineering (WCRE'12), 437-446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. ROSS, S., 2009. Introduction to Probability and Statistics for Engineers and Scientists. Elsevier Academic Press.Google ScholarGoogle Scholar
  47. SHATNAWI, R., 2008. The effectiveness of software metrics in identifying error-prone classes in post-release software evolution process. Systems and Software 81, 11 (November), 1868-1882. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. SHESKIN, D.D., 2000. Handbook of Parametric and Nonparametric Statistical Procedures. Chapman & Hall/CRC.Google ScholarGoogle Scholar
  49. SINGH, Y., ARVINDER, K., and MALHOTRA, R., 2010. Empirical validation of object-oriented metrics for predicting fault proneness models. Software Quality 18, 1, 3-35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 (TSE) 29, 4 (April), 297-310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. SUCCI, G., PEDRYCZ, W., STEFANOVIC, M., and MILLER, J., 2003. Practical assessment of the models for identification of defect-prone classes in object-oriented commercial systems using design metrics. Systems and Software 65, 1 (January 15), 1-12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. TANG, M.-H., KAO, M.-H., and CHEN, M.-H., 1999. An empirical study on object-oriented metrics. In 6th International Software Metrics Symposium (METRICS'99), 242-249. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. YAMASHITA, A. and COUNSELL, S., 2013. Code smells as system-level indicators of maintainability: An empirical study. Journal of Systems and Software 86, 2639-2653.Google ScholarGoogle ScholarCross RefCross Ref
  54. YAMASHITA, A. and MOONEN, L., 2013. To what extent can maintenance problems be predicted by code smell detection? – An empirical study. Information and Software Technology 55, 2223- 2242. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. YU, P., SYSTA, T., and MULLER, H., 2002. Predicting faultproneness using OO metrics. An industrial case study. In 6th European Conference on Software Maintenance and Reengineering (CSMR'02), 99-107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. ZHANG, C. and BUDGEN, D., 2011. What do we Know about the Effectiveness of Software Design Patterns? IEEE Transacttions on Software Engineering (TSE) 99(July). Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. ZHOU, Y. and LEUNG, H., 2006. Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults. IEEE Transacttions on Software Engineering (TSE) 32, 10 (October), 771-789. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Domain matters: bringing further evidence of the relationships among anti-patterns, application domains, and quality-related metrics in Java mobile apps

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        ICPC 2014: Proceedings of the 22nd International Conference on Program Comprehension
        June 2014
        325 pages
        ISBN:9781450328791
        DOI:10.1145/2597008

        Copyright © 2014 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 2 June 2014

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Upcoming Conference

        ICSE 2025

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader