Title :
Hidden dependencies in program comprehension and change propagation
Author :
Yu, Zhifeng ; Rajlich, Václav
Author_Institution :
Dept. of Comput. Sci., Wayne State Univ., Detroit, MI, USA
Abstract :
Large software systems are difficult to understand and maintain. Program dependency analysis plays a key role in both understanding and maintenance. This paper discusses hidden dependencies among software components that make both understanding and maintenance hard. A hidden dependency is a relationship between two seemingly independent components, and it is caused by the data flow in a third software component. The paper uses abstract system dependency graphs to define hidden dependencies. It discusses the impact of hidden dependencies on the process of change propagation and also discusses an algorithm that warns about the possible presence of hidden dependencies
Keywords :
data flow analysis; graphs; reverse engineering; software maintenance; subroutines; abstract system dependency graphs; data flow; hidden dependencies; independent components; large software systems; program comprehension; program dependency analysis; program understanding; software change propagation; software components; software maintenance; warning algorithm; Collaborative work; Computer science; Independent component analysis; Java; Object oriented modeling; Programming profession; Protocols; Software maintenance; Software systems; Variable speed drives;
Conference_Titel :
Program Comprehension, 2001. IWPC 2001. Proceedings. 9th International Workshop on
Conference_Location :
Toronto, Ont.
Print_ISBN :
0-7695-1131-7
DOI :
10.1109/WPC.2001.921739