Abstract
Shapiro proposed an algorithm called ‘Divide-and-Query’ which gives a good solution for query minimisation in the context of algorithmic program debugging. His algorithm applies a half-splitting strategy which repeatedly subdivides an AND-tree representing an incorrect computation under the guidance of an oracle until the bug responsible has been localised. His aim was to minimise the number of queries asked of the oracle, and in general his method approximates well to this ideal. There are cases, however, in which it divides the tree suboptimally with the consequence that more queries are posed than are necessary.
This paper explains why the algorithm may have this inefficiency and presents an improved version which, in the average case, overcomes it. We show that the new algorithm is a special case of measurement guidance by minimum entropy technique adapted from fault diagnosis.
Preview
Unable to display preview. Download preview PDF.
References
de Kleer, J. and Williams, B. C., Diagnosing Multiple Faults, Artificial Intelligence 32, pp. 97–130 (1987).
de Kleer, J.,Using Crude Probability Estimates to Guide Diagnosis, Artificial Intelligence 45,pp.381–391 (1990).
Dershowitz, N. and Lee, Y., Deductive Debugging, Proc. of the Symposium on Logic Programming, San Francisco, pp. 298–306 (1987).
Drabent, W., Nadjm-Tehrani, S. and Maluszynski, J., The Use of Assertions in Algorithmic Debugging, Proc. of FGCS-88, pp. 573–581 (1988).
Freitag, H., A Generic Measurement Proposer, Proc. of the International Workshop on Expert System in Engineering, Springer-Verlag (1990).
Pereira, L. M., Damásio, C. V. and J. J. Alferes, Debugging by Diagnosing Assumptions, Proc. of the 1st International Workshop on Automated and Algorithmic Debugging, Linköping, Sweden, Springer-Verlag (1993).
Pipitone, F., The FIS electronics troubleshooting system, IEEE Computer 19 (7), pp. 68–75 (1986).
Plaisted, D. A., An Efficient Bug Location Algorithm, Proc. of the 2nd International Conference on Logic Programming (1984).
Shapiro, E. Y., Algorithmic Program Debugging, MIT Press (1983).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hirunkitti, V., Hogger, C.J. (1993). A generalised query minimisation for program debugging. In: Fritzson, P.A. (eds) Automated and Algorithmic Debugging. AADEBUG 1993. Lecture Notes in Computer Science, vol 749. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0019407
Download citation
DOI: https://doi.org/10.1007/BFb0019407
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57417-0
Online ISBN: 978-3-540-48141-6
eBook Packages: Springer Book Archive