Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2642803.2642822acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecsawConference Proceedingsconference-collections
research-article

Supporting Software Evolution by Integrating DSL-based Architectural Abstraction and Understandability Related Metrics

Published: 25 August 2014 Publication History
  • Get Citation Alerts
  • Abstract

    Software architecture erosion and architectural drift are well known software evolution problems. While there exist a number of approaches to address these problems, so far in these approaches the understandability of the resulting architectural models (e.g., component models) is seldom studied. However, reduced understandability of the architectural models might lead to problems similar to architecture erosion and architectural drift. To address this problem, we propose to extend our existing DSL-based architecture abstraction approach with empirically evaluated understandability metrics. While the DSL-based architecture abstraction approach enables software architects to keep source code and architecture consistent, the understandability metrics extensions enables them, while working with the DSL, to continuously judge the understandability of the architectural component models they create with the DSL. We studied the applicability of our approach in a case study of an existing open source system.

    References

    [1]
    F. B. e. Abreu, G. Pereira, and P. Sousa. A coupling-guided cluster analysis approach to reengineer the modularity of object-oriented systems. In Proceedings of the Conference on Software Maintenance and Reengineering, CSMR '00, pages 13--, Washington, DC, USA, 2000. IEEE Computer Society.
    [2]
    J. M. Barnes, D. Garlan, and B. R. Schmerl. Evolution styles: foundations and models for software architecture evolution. Software and System Modeling, 13(2):649--678, 2014.
    [3]
    P. Bhattacharya, M. Iliofotou, I. Neamtiu, and M. Faloutsos. Graph-based analysis and prediction for software evolution. In ICSE'12, pages 419--429, 2012.
    [4]
    E. Bouwers, J. P. Correia, A. Deursen, and J. Visser. Quantifying the Analyzability of Software Architectures. In 2011 Ninth Working IEEE/IFIP Conference on Software Architecture, pages 83--92. IEEE, June 2011.
    [5]
    P. Clements, D. Garlan, L. Bass, J. Stafford, R. Nord, J. Ivers, and R. Little. Documenting Software Architectures: Views and Beyond. Pearson Education, 2002.
    [6]
    C. E. Cuesta, E. Navarro, D. E. Perry, and C. Roda. Evolution styles: using architectural knowledge as an evolution driver. Journal of Software: Evolution and Process, 25(9):957--980, 2013.
    [7]
    A. Egyed. Consistent adaptation and evolution of class diagrams during refinement. In Fundamental Approaches to Software Engineering, 7th International Conference, FASE 2004, ETAPS 2004 Barcelona, Spain, volume 2984 of Lecture Notes in Computer Science, pages 37--53. Springer, 2004.
    [8]
    M. O. Elish. Exploring the relationships between design metrics and package understandability: A case study. In ICPC, pages 144--147. IEEE Computer Society, 2010.
    [9]
    V. Gupta and J. K. Chhabra. Package coupling measurement in object-oriented software. J. Comput. Sci. Technol., 24(2):273--283, Mar. 2009.
    [10]
    V. Gupta and J. K. Chhabra. Package level cohesion measurement in object-oriented software. J. Braz. Comp. Soc., 18(3):251--266, 2012.
    [11]
    T. Haitzer and U. Zdun. Semi-automated architectural abstraction specifications for supporting software evolution. Science of Computer Programming, 90, Part B(0):135--160, 2014. Special Issue on Component-Based Software Engineering and Software Architecture.
    [12]
    A. Jansen, J. van der Ven, P. Avgeriou, and D. K. Hammer. Tool support for architectural decisions. In Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture, WICSA '07, pages 4--, Washington, DC, USA, 2007. IEEE Computer Society.
    [13]
    A. Kanjilal, S. Sengupta, and S. Bhattacharya. CAG: A Component Architecture Graph. In TENCON, IEEE Region 10 International Conference, 2008.
    [14]
    M. M. Lehman. Uncertainty in computer application and its control through the engineering of software. Journal of Software Maintenance, 1(1):3--27, Sept. 1989.
    [15]
    Y. Ma, K. He, D. Du, J. Liu, and Y. Yan. A complexity metrics set for large-scale object-oriented software systems. In Proceedings of the Sixth IEEE International Conference on Computer and Information Technology, CIT '06, pages 189--, Washington, DC, USA, 2006. IEEE Computer Society.
    [16]
    O. Maqbool and H. Babri. Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng., 33:759--780, 2007.
    [17]
    R. C. Martin. Agile software development: principles, patterns, and practices. Prentice Hall PTR, 2003.
    [18]
    K. Mens, T. Mens, and M. Wermelinger. Maintaining software through intentional source-code views. In Proceedings of the 14th international conference on Software engineering and knowledge engineering, SEKE '02, pages 289--296, New York, NY, USA, 2002. ACM.
    [19]
    G. C. Murphy, D. Notkin, and K. Sullivan. Software reflexion models: bridging the gap between source and high-level models. SIGSOFT Softw. Eng. Notes, 20:18--28, 1995.
    [20]
    G. C. Murphy, D. Notkin, and K. Sullivan. Software reflexion models: bridging the gap between source and high-level models. In Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering, SIGSOFT '95, pages 18--28, New York, NY, USA, 1995. ACM.
    [21]
    D. L. Parnas. Software aging. In Proceedings of the 16th International Conference on Software Engineering, ICSE '94, pages 279--287, Los Alamitos, CA, USA, 1994. IEEE Computer Society Press.
    [22]
    K. Sartipi. A software evaluation model using component association views. In IWPC, pages 259--268, 2001.
    [23]
    A. Sharma, P. S. Grover, and R. Kumar. Dependency analysis for component-based software systems. SIGSOFT Softw. Eng. Notes, 34(4):1--6, July 2009.
    [24]
    S. Stevanetic, M. A. Javed, and U. Zdun. Empirical evaluation of the understandability of architectural component diagrams. In Companion Proceedings of the 11th Working IEEE/IFIP Conference on Software Architecture (WICSA), WICSA 2014, Sydney, Australia, 2014. IEEE Computer Society.
    [25]
    S. Stevanetic and U. Zdun. Exploring the relationships between the understandability of components in architectural component models and component level metrics. In Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering (EASE), EASE 2014, London, UK, 2014. ACM Computer Society.

    Cited By

    View all
    • (2022)Characterizing the Architectural Erosion Metrics: A Systematic Mapping StudyIEEE Access10.1109/ACCESS.2022.315084710(22915-22940)Online publication date: 2022
    • (2018)Metric-centered and technology-independent architectural views for software comprehensionJournal of Software Engineering Research and Development10.1186/s40411-018-0060-66:1Online publication date: 4-Dec-2018
    • (2018)Supporting the analyzability of architectural component models - empirical findings and tool supportEmpirical Software Engineering10.1007/s10664-017-9583-4Online publication date: 29-Mar-2018

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ECSAW '14: Proceedings of the 2014 European Conference on Software Architecture Workshops
    August 2014
    214 pages
    ISBN:9781450327787
    DOI:10.1145/2642803
    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: 25 August 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Architectural Abstraction
    2. Architectural Component Views
    3. DSL
    4. Empirical Evaluation
    5. Software Evolution
    6. Software Metrics
    7. Understandability

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ECSAW '14

    Acceptance Rates

    ECSAW '14 Paper Acceptance Rate 29 of 43 submissions, 67%;
    Overall Acceptance Rate 80 of 120 submissions, 67%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)8
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 27 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Characterizing the Architectural Erosion Metrics: A Systematic Mapping StudyIEEE Access10.1109/ACCESS.2022.315084710(22915-22940)Online publication date: 2022
    • (2018)Metric-centered and technology-independent architectural views for software comprehensionJournal of Software Engineering Research and Development10.1186/s40411-018-0060-66:1Online publication date: 4-Dec-2018
    • (2018)Supporting the analyzability of architectural component models - empirical findings and tool supportEmpirical Software Engineering10.1007/s10664-017-9583-4Online publication date: 29-Mar-2018

    View Options

    Get Access

    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