Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1730874.1730875acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisecConference Proceedingsconference-collections
keynote

Exposing unforeseen consequences of software change

Published: 25 February 2010 Publication History

Abstract

Changing source code can have unintended effects on a program's behavior. Seemingly trivial changes have incurred significant cost, distress, and catastrophe: that is, the concern about the consequences of a change is not merely theoretical. At the same time, many -- perhaps most -- software changes do not cause problems in practice, instead improving the program's behavior in intended ways. The changes that improve program behavior clearly collectively outweigh those that harm it. Nevertheless, nobody would argue that programmers make changes with certainty about the future behavior of a program. This is in part due to Dijkstra's observation from decades ago about the conceptual gap between the static program and the dynamic execution process. This observation led to many aspects of structured programming, most notably the aggressive use of one-in/one-out control structures such as if-then-else statements and while loops. However, for a number of reasons, the source-behavior relationship has become more opaque rather than less so, leaving programmers with relatively little help in distinguishing between changes leading to intended versus unintended behaviors. To aid programmers facing these difficulties, we have developed an approach that takes a pair of program versions, models each version's source code as static call graphs and each version's behavior as dynamic call graphs, partitions these four dependence graphs based on their set intersections, and identifies partitions that tend to expose changes that are likely to have unforeseen consequences on the program's source-behavior relationship. This is joint work with Reid Holmes.

Index Terms

  1. Exposing unforeseen consequences of software change

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ISEC '10: Proceedings of the 3rd India software engineering conference
    February 2010
    194 pages
    ISBN:9781605589220
    DOI:10.1145/1730874

    Sponsors

    • CSI SIGSE: ACM special interest group on software engineering of CSI

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 February 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. software change
    2. source-behavior relationship

    Qualifiers

    • Keynote

    Conference

    ISEC '10
    Sponsor:
    • CSI SIGSE
    ISEC '10: India Software Engineering Conference
    February 25 - 27, 2010
    Mysore, India

    Acceptance Rates

    Overall Acceptance Rate 76 of 315 submissions, 24%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 104
      Total Downloads
    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 09 Jan 2025

    Other Metrics

    Citations

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media