Title :
Follow the path: Debugging state anomalies along execution histories
Author :
Perscheid, Michael ; Felgentreff, Tilman ; Hirschfeld, Robert
Author_Institution :
Software Archit. Group, Univ. of Potsdam, Potsdam, Germany
Abstract :
To understand how observable failures come into being, back-in-time debuggers help developers by providing full access to past executions. However, such potentially large execution histories do not include any hints to failure causes. For that reason, developers are forced to ascertain unexpected state properties and wrong behavior completely on their own. Without deep program understanding, back-in-time debugging can end in countless and difficult questions about possible failure causes that consume a lot of time for following failures back to their root causes. In this paper, we present state navigation as a debugging guide that highlights unexpected state properties along execution histories. After deriving common object properties from the expected behavior of passing test cases, we generate likely invariants, compare them with the failing run, and map differences as state anomalies to the past execution. So, developers obtain a common thread through the large amount of run-time data which helps them to answer what causes the observable failure. We implement our completely automatic state navigation as part of our test-driven fault navigation and its Path tools framework. To evaluate our approach, we observe eight developers during debugging four non-trivial failures. As a result, we find out that our state navigation is able to aid developers and to decrease the required time for localizing the root cause of a failure.
Keywords :
program debugging; program testing; automatic state navigation; back-in-time debugging; debugging state anomaly; execution history; path tools framework; test-driven fault navigation; Concrete; Contracts; Debugging; History; Image color analysis; Navigation; Receivers; Back-in-time Debugging; Dynamic Analysis; Likely Invariants; Test-driven Fault Navigation; Testing;
Conference_Titel :
Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on
Conference_Location :
Antwerp
DOI :
10.1109/CSMR-WCRE.2014.6747162