Delta debugging: Difference between revisions

Content deleted Content added
WikiCleanerBot (talk | contribs)
m v2.04b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation - Pipe in external link)
m cite repair;
Line 5:
}}
 
'''Delta Debugging''' is a methodology to automate the [[debugging]] of programs using a scientific approach of hypothesis-trial-result loop. This methodology was first developed by Andreas Zeller of the Saarland University in 1999.<ref>{{cite bookconference |last1=Zeller |first1=Andreas |book-title=Software Engineering — ESEC/FSE '99 |volume=1687 |pages=253–267 |chaptertitle=Yesterday, my program worked. Today, it does not. Why?|date=1999 |publisher=Springer|edition=Software Engineering—ESEC/FSE’99 [https://dx.doi.org/10.1007/3-540-48166-4_16 doi:10.1007/3-540-48166-4_16]|doi=10.1007/3-540-48166-4_16 |series=Lecture Notes in Computer Science |isbn=978-3-540-66538-0}}</ref>
 
In practice, the Delta Debugging algorithm builds on [[unit testing]] to isolate failure causes automatically - by systematically narrowing down failure-inducing circumstances until a minimal set remains. For example, if you can supply a test case that will produce the bug you are looking for, then you can feed that to the Delta Debugging algorithm, which will then simply try to trim useless functions and lines of code that are not needed to reproduce the bug, until a 1-minimal program is found.
Line 26:
** [https://archive.today/20060223234113/http://ddchange.martin-burger.de/ DDchange] - Failure-Inducing Changes
** DDstate - Failure-Inducing States
* [https://www.st.cs.uni-saarland.de/testing/xmlmate/ XMLmate]<ref>{{cite news|title=Detecting Software Errors via Genetic Algorithms|url=http://www.pddnet.com/news/2014/03/detecting-software-errors-genetic-algorithms|accessdateaccess-date=22 July 2015|date=2014-03-05}}</ref>
* [https://github.com/eschulte/delta-debug Common Lisp implementation]
* [http://www.st.cs.uni-saarland.de/askigor/downloads/ Igor - command line tool]