• Home
  • Search
  • Evaluating the Impact of Possible Dependencies on Architecture-Level Maintainability
  • Cite Icon18
  • https://doi.org/10.1109/tse.2022.3171288Copy DOI Icon

Evaluating the Impact of Possible Dependencies on Architecture-Level Maintainability

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
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 <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">possible dependencies</i> , in contrast with the <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">explicit dependencies</i> 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: <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">to what extent will these missing possible dependencies impact architecture analysis?</i> 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 impact of possible dependencies on architecture-level maintainability 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.

Similar Papers
  • Research Article
  • Citations32

Scaling up software architecture analysis

  • Apr 02, 2011
  • Journal of Systems and Software
  • Rick Kazman +2
  • Conference Article
  • Citations6

Time series analysis of open-source software projects

  • Mar 19, 2009
  • Liguo Yu +3
  • Research Article
  • Citations8

Source Code and Formal Analysis: A Reading of Passage

  • Sep 22, 2017
  • Transactions of the Digital Games Research Association
  • Ea Christina Willumsen
  • Conference Article
  • Citations13

Using Model Differencing for Architecture-level Regression Testing

  • Aug 01, 2007
  • Henry Muccini
  • Research Article
  • Citations1

A formal method for software architecture analysis based on aspect orientation

  • Jan 01, 2018
  • International Journal of Wireless and Mobile Computing
  • Hong Zheng +2
  • Research Article
  • Citations41

A Framework for Developing and Analyzing Software Architecture Specifications in SAM

  • Jan 01, 2002
  • The Computer Journal
  • X He
  • Research Article
  • Citations2

Fast and low overhead architectural transaction level modelling for large-scale network-on-chip simulation

  • Nov 01, 2012
  • IET Computers &amp; Digital Techniques
  • M Hosseinabady +1
  • Conference Article
  • Citations20

Learning Quick Fixes from Code Repositories

  • Sep 27, 2021
  • Reudismam Sousa +4
  • Conference Article

Software Adaptive Mechanism Based on Software Architecture in Software Running Time

  • Jan 01, 2015
  • Haiyun Xiang +2
  • Book Chapter
  • Citations82

DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development

  • Jan 01, 2003
  • Mónica Pinto +2
  • Conference Article
  • Citations5

Performability analysis of a pipeline software architecture

  • Jan 01, 2005
  • S.S Gokhale +1
  • Research Article
  • Citations7

Efficient deadlock analysis of component-based software architectures

  • Mar 13, 2013
  • Science of Computer Programming
  • Christian Lambertz +1
  • Conference Article

Software of aviation structures' bench tests

  • Oct 01, 2012
  • V.M Sineglazov +1
  • Single Report
  • Citations77

The SAE Avionics Architecture Description Language (AADL) Standard: A Basis for Model-Based Architecture-Driven Embedded Systems Engineering

  • Apr 01, 2003
  • Peter H Feiler +2
  • Conference Article
  • Citations4

SMART: A propositional logic-based trade analysis and risk assessment tool for a complex mission

  • Mar 01, 2015
  • Masahiro Ono +3
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.