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 :
بازگشت