Journal article
Evaluating the Impact of Possible Dependencies on Architecture-level Maintainability
IEEE transactions on software engineering, pp 1-1
28 Apr 2022
Abstract
Dependencies among software entities are the foundation for much of the research on software architecture analysis and architecture analysis tools. Dynamically typed languages, such as Python, JavaScript, and Ruby, tolerate the lack of explicit type references, making certain dependencies indiscernible by a purely syntactic analysis of source code. We call these \emph{possible dependencies}, in contrast with the \emph{explicit dependencies} that are directly manifested in source code. We find that existing architecture analysis tools have not taken possible dependencies into consideration. An important question therefore is: \emph{to what extent will these missing possible dependencies impact architecture analysis} To answer this question, we conducted a study of 499 open-source Python projects, employing type inference techniques and type hint practices to discern possible dependencies. We investigated the consequences of possible dependencies in three software maintenance contexts, including capturing co-change relations recorded in revision history, measuring architectural maintainability, and detecting architecture anti-patterns that violate design principles and impact maintainability. Our study revealed that the maintainability impact of possible dependencies is substantial---higher than that of explicit dependencies. Our findings suggest that architecture analysis and tools should take into account, assess, and highlight the impacts of possible dependencies caused by dynamic typing.
Metrics
Details
- Title
- Evaluating the Impact of Possible Dependencies on Architecture-level Maintainability
- Creators
- Wuxia Jin - Xi'an Jiaotong UniversityDinghong Zhong - Xi'an Jiaotong UniversityYuanfang Cai - Drexel UniversityRick Kazman - University of Hawaii at ManoaTing Liu - Xi'an Jiaotong University
- Publication Details
- IEEE transactions on software engineering, pp 1-1
- Publisher
- IEEE
- Grant note
- 61721002; 61833015; 61902306; 62002280 / National Natural Science Foundation of China (10.13039/501100001809) 1816594; 1817267; 1823177; 1835292 / United States National Sciences Foundation 2018YFB1004500 / National Key RD Program of China
- Resource Type
- Journal article
- Language
- English
- Academic Unit
- Computer Science
- Web of Science ID
- WOS:000952938700007
- Scopus ID
- 2-s2.0-85129677178
- Other Identifier
- 991019173565204721
InCites Highlights
Data related to this publication, from InCites Benchmarking & Analytics tool:
- Collaboration types
- Domestic collaboration
- International collaboration
- Web of Science research areas
- Computer Science, Software Engineering
- Engineering, Electrical & Electronic