• DocumentCode
    3141662
  • Title

    Comparative causality: Explaining the differences between executions

  • Author

    Sumner, William N. ; Xiangyu Zhang

  • Author_Institution
    Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA
  • fYear
    2013
  • fDate
    18-26 May 2013
  • Firstpage
    272
  • Lastpage
    281
  • Abstract
    We propose a novel fine-grained causal inference technique. Given two executions and some observed differences between them, the technique reasons about the causes of such differences. The technique does so by state replacement, i.e. replacing part of the program state at an earlier point to observe whether the target differences can be induced. It makes a number of key advances: it features a novel execution model that avoids undesirable entangling of the replaced state and the original state; it properly handles differences of omission by symmetrically analyzing both executions; it also leverages a recently developed slicing technique to limit the scope of causality testing while ensuring that no relevant state causes can be missed. The application of the technique on automated debugging shows that it substantially improves the precision and efficiency of causal inference compared to state of the art techniques.
  • Keywords
    causality; inference mechanisms; program debugging; program slicing; program testing; automated debugging; causality testing; comparative causality; execution model; fine-grained causal inference technique; slicing technique; state replacement; Cognition; Computer bugs; Debugging; Heuristic algorithms; Minimization; Software; Testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2013 35th International Conference on
  • Conference_Location
    San Francisco, CA
  • Print_ISBN
    978-1-4673-3073-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2013.6606573
  • Filename
    6606573