Although object-oriented languages can improve programmingpractices, their characteristics may introducenew problems for software engineers. One important problemis the presence of implicit control flow caused byexception handling and polymorphism. Implicit controlflow causes complex interactions, and can thus complicatesoftware-engineering tasks. To address this problem, wepresent a systematic and structured approach, for supportingthese tasks, based on the static and dynamic analyses ofconstructs that cause implicit control flow. Our approachprovides software engineers with information for supportingand guiding development and maintenance tasks. Wealso present empirical results to illustrate the potential usefulnessof our approach. Our studies show that, for thesubjects considered, complex implicit control flow is alwayspresent and is generally not adequately exercised.
['Saurabh Sinha', 'Alessandro Orso', 'Mary Jean Harrold']
Automated Support for Development, Maintenance, and Testing in the Presence of Implicit Control Flow