• 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