DocumentCode
555302
Title
Identifying program, test, and environmental changes that affect behaviour
Author
Holmes, Reid ; Notkin, David
Author_Institution
Sch. of Comput. Sci., Univ. of Waterloo, Waterloo, ON, Canada
fYear
2011
fDate
21-28 May 2011
Firstpage
371
Lastpage
380
Abstract
Developers evolve a software system by changing the program source code, by modifying its context by updating libraries or changing its configuration, and by improving its test suite. Any of these changes can cause differences in program behaviour. In general, program paths may appear or disappear between executions of two subsequent versions of a system. Some of these behavioural differences are expected by a developer; for example, executing new program paths is often precisely what is intended when adding a new test. Other behavioural differences may or may not be expected or benign. For example, changing an XML configuration file may cause a previously-executed path to disappear, which may or may not be expected and could be problematic. Furthermore, the degree to which a behavioural change might be problematic may only become apparent over time as the new behaviour interacts with other changes. We present an approach to identify specific program call dependencies where the programmer´s changes to the program source code, its tests, or its environment are not apparent in the system´s behaviour, or vice versa. Using a static and a dynamic call graph from each of two program versions, we partition dependencies based on their presence in each of the four graphs. Particular partitions contain dependencies that help a programmer develop insights about often subtle behavioural changes.
Keywords
directed graphs; program diagnostics; configuration changing; context modification; dynamic call graph; environmental change; library updating; program behaviour; program call dependencies; program identification; program source code; static call graph; test identification; Approximation methods; Data visualization; Educational institutions; Focusing; Libraries; Prototypes; Runtime; comparative analyses; dynamic impact analysis; software behaviour; static analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2011 33rd International Conference on
Conference_Location
Honolulu, HI
ISSN
0270-5257
Print_ISBN
978-1-4503-0445-0
Electronic_ISBN
0270-5257
Type
conf
DOI
10.1145/1985793.1985844
Filename
6032476
Link To Document