[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ 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 2014 Publication 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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[11]
BROWN, W.J., MALVEAU, R.C., MCCORMICK III, H.W., and MOWBRAY, T.J., 1998. AntiPatterns. John Willey & Sons.
[12]
BRUNTINK, M. and VAN DEURSEN, A., 2006. An empirical study into class testability. Systems and Software 79, 9 (September), 1219-1232.
[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.
[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.
[15]
CARTWRIGHT, M. and SHEPPERD, M., 2000. An Empirical Investigacion of an Object-Oriented System. IEEE Transacttions Software Engineering (TSE) 26, 7, 786-796.
[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.
[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.
[18]
CORDER, G.W. and FOREMAN, D.I., 2009. Nonparametric Statistics for Non-Statisticians. John Wilet and Sons.
[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.
[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.
[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.
[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.
[23]
GAMMA, E., HELM, R., JOHNSON, R., and VLISSIDES, J., 1995. Design Patterns. Addison-Wesley Professional.
[24]
GRISSOM, R.J. and KIM, J.J., 2005. Effect Sizes for Research: A Broad Practical Approach. Lawrence Earlbaum Associates.
[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.
[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.
[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.
[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.
[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.
[30]
ISO/IEC, 2001. ISO/IEC 9126. Software Engineering - Product Quality.
[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.
[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.
[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).
[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.
[35]
LANZA, M. and MARINESCU, R., 2006. Object-Oriented Metrics in Practice. Springer.
[36]
LI, W. and HENRY, S., 1993. Object-oriented metrics that predict maintainability. Journal of Systems and Software 23, 2, 111-122.
[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.
[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.
[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.
[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.
[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.
[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.
[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).
[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.
[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.
[46]
ROSS, S., 2009. Introduction to Probability and Statistics for Engineers and Scientists. Elsevier Academic Press.
[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.
[48]
SHESKIN, D.D., 2000. Handbook of Parametric and Nonparametric Statistical Procedures. Chapman & Hall/CRC.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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).
[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.

Cited By

View all
  • (2024)Test Code Flakiness in Mobile Apps: The Developer’s PerspectiveInformation and Software Technology10.1016/j.infsof.2023.107394168(107394)Online publication date: Apr-2024
  • (2024)Design smells in multi-language systems and bug-proneness: a survival analysisEmpirical Software Engineering10.1007/s10664-024-10476-229:5Online publication date: 3-Jul-2024
  • (2023)Security‐based code smell definition, detection, and impact quantification in AndroidSoftware: Practice and Experience10.1002/spe.325753:11(2296-2321)Online publication date: 9-Sep-2023
  • Show More Cited By

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

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      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
      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]

      Sponsors

      In-Cooperation

      • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 02 June 2014

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Anti-patterns
      2. Domain categories
      3. Internal metrics
      4. Java Mobile Edition
      5. Software quality

      Qualifiers

      • Article

      Conference

      ICSE '14
      Sponsor:

      Upcoming Conference

      ICSE 2025

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)7
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 23 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Test Code Flakiness in Mobile Apps: The Developer’s PerspectiveInformation and Software Technology10.1016/j.infsof.2023.107394168(107394)Online publication date: Apr-2024
      • (2024)Design smells in multi-language systems and bug-proneness: a survival analysisEmpirical Software Engineering10.1007/s10664-024-10476-229:5Online publication date: 3-Jul-2024
      • (2023)Security‐based code smell definition, detection, and impact quantification in AndroidSoftware: Practice and Experience10.1002/spe.325753:11(2296-2321)Online publication date: 9-Sep-2023
      • (2022)Using Machine Learning for Inter-smell Detection: A Feasibility StudyArtificial Intelligence and Data Science10.1007/978-3-031-21385-4_25(291-305)Online publication date: 14-Dec-2022
      • (2021)Impact of programming languages on machine learning bugsProceedings of the 1st ACM International Workshop on AI and Software Testing/Analysis10.1145/3464968.3468408(9-12)Online publication date: 12-Jul-2021
      • (2021)Are Multi-Language Design Smells Fault-Prone? An Empirical StudyACM Transactions on Software Engineering and Methodology10.1145/343269030:3(1-56)Online publication date: 11-Feb-2021
      • (2021)A Systematic Literature Review on Bad Smells–5 W's: Which, When, What, Who, WhereIEEE Transactions on Software Engineering10.1109/TSE.2018.288097747:1(17-66)Online publication date: 1-Jan-2021
      • (2021)A Novel Tree-based Neural Network for Android Code Smells Detection2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS54544.2021.00083(738-748)Online publication date: Dec-2021
      • (2021)Exploratory study of the impact of project domain and size category on the detection of the God class design smellSoftware Quality Journal10.1007/s11219-021-09550-5Online publication date: 31-Mar-2021
      • (2021)A survey of problematic database code fragments in software systemsEngineering Reports10.1002/eng2.124413:10Online publication date: 11-Jul-2021
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media