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

Authors Info & Claims
Published:25 August 2014Publication History

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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. V. Gupta and J. K. Chhabra. Package coupling measurement in object-oriented software. J. Comput. Sci. Technol., 24(2):273--283, Mar. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. V. Gupta and J. K. Chhabra. Package level cohesion measurement in object-oriented software. J. Braz. Comp. Soc., 18(3):251--266, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Kanjilal, S. Sengupta, and S. Bhattacharya. CAG: A Component Architecture Graph. In TENCON, IEEE Region 10 International Conference, 2008.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. O. Maqbool and H. Babri. Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng., 33:759--780, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. C. Martin. Agile software development: principles, patterns, and practices. Prentice Hall PTR, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. Sartipi. A software evaluation model using component association views. In IWPC, pages 259--268, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

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

            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: 25 August 2014

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed limited

            Acceptance Rates

            ECSAW '14 Paper Acceptance Rate29of43submissions,67%Overall Acceptance Rate80of120submissions,67%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader