Practical Declarative Debugging of Mercury Programs

@inproceedings{MacLarty2005PracticalDD,
  title={Practical Declarative Debugging of Mercury Programs},
  author={Ian MacLarty},
  year={2005}
}
Debugging is the most unpredictable and potentially expensive phase of the software development life-cycle. Declarative debuggers ask the user questions about the correctness of subcomputations in their program. Based on the user’s answers, subcomputations that cannot be the cause of the buggy behaviour are eliminated. Eventually one subcomputation is left which must be the cause of the buggy behaviour. Declarative debuggers thus keep track of which parts of the computation are still suspect… CONTINUE READING