Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2652524.2652581acmconferencesArticle/Chapter ViewAbstractPublication PagesesemConference Proceedingsconference-collections
research-article

A replication case study to measure the architectural quality of a commercial system

Published: 18 September 2014 Publication History

Abstract

Context: Long-term software management decisions are directly impacted by the quality of the software's architecture. Goal: Herein, we present a replication case study where structural information about a commercial software system is used in conjunction with bug-related change frequencies to measure and predict architecture quality. Method: Metrics describing history and structure were gathered and then correlated with future bug-related issues; the worst of which were visualized and presented to developers. Results: We identified dependencies between components that change together even though they belong to different architectural modules, and as a consequence are more prone to bugs. We validated these dependencies by presenting our results back to the developers. The developers did not identify any of these dependencies as unexpected, but rather architectural necessities. Conclusions: This replication study adds to the knowledge base of CLIO (a tool that detects architectural degradations) by incorporating a new programming language (C++) and by externally replicating a previous case study on a separate commercial code base. Additionally, we provide lessons learned and suggestions for future applications of CLIO.

References

[1]
Baldwin, C. and Clark, K. 2000. Design Rules: The power of Modularity. Vol. 1. MIT Press., Cambridge, MA.
[2]
Bansiya, J. and Davis, C. G. 2002. A hierarchical model for object oriented design quality assessment. In IEEE Transactions on Software Engineering 28, 1 (Aug. 2002), 4--17. DOI=http://dx.doi.org/10.1109/32.979986.
[3]
Basili, V. R., Selby, R. W., and Hutchens, D. H. 1986. Experimentation in Software Engineering. In IEEE Transactions on Software Engineering 12,7 (July 1986), 733--743. DOI=http://dx.doi.org/10.1109/TSE.1986.6312975.
[4]
Brooks, A., Roper, M., Wood, M., Daly, J., and Miller, J. 2008. Replication's Role in Software Engineering. In Guide to Advanced Emprirical Software Engineering, Shull, F., Singer, J., and Sjøberg, D. I. K. Springer London, Springer, 365--379. DOI=http://dx.doi.org/10.1007/978-1-84800-0445_14.
[5]
Cunningham, W. 1992. The Wycash portfolio management system. In OOPSLA '92 Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Dec. 1992). OOPSLA '92. SIGPLAN ACM, New York, NY 29--30. DOI= http://dx.doi.org/10.1145/157709.157715.
[6]
Izurieta, C. and Bieman, J. 2013. A multiple case study of design pattern decay, grime, and rot in evolving software systems. In Software Quality Journal, 21, 2 (June 2013), 289--323, DOI=http://dx.doi.org/10.1007/s11219-012-9175-x.
[7]
Juristo, N. and Moreno, A. M. 2010. Basics of Software Engineering Experimentation (1st ed.). Springer Publishing Company, Incorporated.
[8]
Kendall, M. G. 1938. A new measure of rank correlation. In Biometrika, 30 (1938), 81--93.
[9]
Ohlsson, N. and Alberg, H. 1996. Predicting fault-prone software modules in telephone switches. In IEEE Transactions on Software Engineering, 22, 12 (Dec. 1996), 886--894, DOI= http://dx.doi.org/10.1109/32.553637.
[10]
Ostrand, T. J. and Weyuker, E. J. 2007. How to measure success of fault prediction models. In Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting (SOQUA '07). ACM, New York, NY, USA, 25--30. DOI= http://doi.acm.org/10.1145/1295074.1295080.
[11]
Ott, R. and Longnecker, M. 1993. An introduction to statistical methods and data analysis. Vol. 4. Duxbury Press, Belmont, CA.
[12]
Parnas, D. L. 1972. On the criteria to be used in decomposing systems into modules. Commun. ACM 15, 12 (December 1972), 1053--1058.
[13]
Schwanke, R., Xiao, L., and Cai, Y. 2013. Measuring architecture quality by structure plus history analysis. In 2013 35th International Conference on Software Engineering (ICSE) (San Francisco, CA, May 18-26 2013). ICSE '13. IEEE, San Francisco, CA, 891--900. DOI= http://dx.doi.org/10.1109/ICSE.2013.6606638.
[14]
Shull, F. J., Carver, J. C., Vegas, S., and Juristo, N. 2008. The role of replications in Empirical Software Engineering. In Empirical Software Engineering 13, 2 (April 2008), 211--218. DOI= http://dx.doi.org/10.1007/s10664-008-9060-1.
[15]
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. 2012 Experimentation in software Engineering. Springer Berlin Heidelberg. DOI= http://dx.doi.org/10.1007/978-3-642-29044-2.
[16]
Wong, S., Cai, Y., Kim, M., and Dalton, M., 2011. Detecting software modularity violations. In Proceedings of the 33rd International Conference on Software Engineering (ICSE '11). ACM, New York, NY, USA, 411--420. DOI= http://doi.acm.Org/10.1145/1985793.1985850.
[17]
Zazworka, N., Vetro, A., Izurieta, C., Wong, S., Cai, Y., Seamon, C., and Shull, F. 2013. Comparing four approaches for technical debt identification. In Software Quality Journal (April 2013), 1--24, Springer US.

Cited By

View all
  • (2022)Detecting the Locations and Predicting the Maintenance Costs of Compound Architectural DebtsIEEE Transactions on Software Engineering10.1109/TSE.2021.310222148:9(3686-3715)Online publication date: 1-Sep-2022
  • (2022)Characterizing the Architectural Erosion Metrics: A Systematic Mapping StudyIEEE Access10.1109/ACCESS.2022.315084710(22915-22940)Online publication date: 2022
  • (2022)A model-based approach for specifying changes in replications of empirical studies in computer ScienceComputing10.1007/s00607-022-01133-x105:6(1189-1213)Online publication date: 3-Dec-2022
  • Show More Cited By

Index Terms

  1. A replication case study to measure the architectural quality of a commercial system

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEM '14: Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement
    September 2014
    461 pages
    ISBN:9781450327749
    DOI:10.1145/2652524
    Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 September 2014

    Check for updates

    Author Tags

    1. architecture quality
    2. case study
    3. grime
    4. modularity violations
    5. replication
    6. static analysis
    7. technical debt

    Qualifiers

    • Research-article

    Conference

    ESEM '14
    Sponsor:

    Acceptance Rates

    ESEM '14 Paper Acceptance Rate 23 of 123 submissions, 19%;
    Overall Acceptance Rate 130 of 594 submissions, 22%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)11
    • Downloads (Last 6 weeks)4
    Reflects downloads up to 13 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Detecting the Locations and Predicting the Maintenance Costs of Compound Architectural DebtsIEEE Transactions on Software Engineering10.1109/TSE.2021.310222148:9(3686-3715)Online publication date: 1-Sep-2022
    • (2022)Characterizing the Architectural Erosion Metrics: A Systematic Mapping StudyIEEE Access10.1109/ACCESS.2022.315084710(22915-22940)Online publication date: 2022
    • (2022)A model-based approach for specifying changes in replications of empirical studies in computer ScienceComputing10.1007/s00607-022-01133-x105:6(1189-1213)Online publication date: 3-Dec-2022
    • (2020)Replication of Studies in Empirical Software Engineering: A Systematic Mapping Study, From 2013 to 2018IEEE Access10.1109/ACCESS.2019.29521918(26773-26791)Online publication date: 2020
    • (2015)A framework to aid in decision making for technical debt management2015 IEEE 7th International Workshop on Managing Technical Debt (MTD)10.1109/MTD.2015.7332628(69-76)Online publication date: Oct-2015

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media