Abstract
Translation validation based on refinement mappings has been effectively used for validating compiled programs [1,2]. Debugging programs is a very important stage in the software development cycle. An important issue for the debugger-user communication aspect is that of transparency which is the illusion wherein the user gets an impression that he is debugging his source. A debugger is said to exhibit transparent behaviour if it returns exactly the same response for all requests as it would if the target program were not optimized. A debugger that behaves differently for an optimized program exhibits non-transparent behaviour. Various approaches have been envisaged in [3] for debugging optimized programs. In this paper, we show how we can use the methodology of translation validation of optimized programs to design and develop semantic transparent debuggers that permits modifications of variables only if consistent. Our approach uses the proof rule for validating optimized programs described in [4]. Further, we have been able to automate the process of validation and build prototype debuggers in Prolog.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bhattacharjee, K., Dhodapkar, S.D., Karunakar, K., Rajan, B., Shyamasundar, R.K.: System for Object Code Validation. LNCS, vol. 1926, pp. 152–169 (2000)
Pnueli, A., Siegel, M., Shtrichman, O.: Translation Validation for Synchronous Languages. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 235–246. Springer, Heidelberg (1998)
Tice, C.M.: Non Transparent Debugging of Optimized Code, Ph.D. Thesis, Univ. of California, at Berkeley (1999)
Kundaji, R., Shyamasundar, R.K.: Refinement Calculus: A basis for translation, validation, debugging and certification, AMiLP-3, Verona, pp. 195–205 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kundaji, R.N., Shyamasundar, R.K. (2004). Development of Semantic Debuggers Based on Refinement Calculus. In: Demoen, B., Lifschitz, V. (eds) Logic Programming. ICLP 2004. Lecture Notes in Computer Science, vol 3132. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27775-0_38
Download citation
DOI: https://doi.org/10.1007/978-3-540-27775-0_38
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22671-0
Online ISBN: 978-3-540-27775-0
eBook Packages: Springer Book Archive