A New Way of Debugging Lisp Programs

作者: Matthias Felleisen , Cormac Flanagan

DOI:

关键词:

摘要: A major cause of software unreliability is the misapplication primitive operations, such as taking car nil, dividing by zero, or using an invalid array index. These errors are traditionally discovered extensive testing and debugging, but this approach unsatisfactory because it time-consuming may not identify all potential errors. We suggest to address problem with sophisticated static debugging systems. Recent advances in proof technology have brought advanced systems within reach. Methods like control-flow analysis set-based establish invariants that can potentially faulty program operations. Past research, however, only focused on synthesis completely neglected their presentation programmer. believe programmer must be able inspect inferred browse underlying proof. Then, if some set invariant contains surprising elements, determine whether result a weakness system uncovers flaw program. This paper presents MrSpidey, user-friendly, interactive debugger integrated into DrScheme, our development environment. MrSpidey exposes those operations signal during execution; describes sets values expressions assume; also provides graphical explanation how flow through Using easily eliminate causes run-time Experimental results support belief expedites process debugging.

参考文章(27)
Olin Grigsby Shivers, Control-flow analysis of higher-order languages of taming lambda Carnegie Mellon University. ,(1991)
Michael Wolfe, The Tiny Loop Restructuring Research Tool. international conference on parallel processing. pp. 46- 53 ,(1991)
Suresh Jagannathan, Andrew Wright, Effective Flow Analysis for Avoiding Run-Time Checks static analysis symposium. pp. 207- 224 ,(1995) , 10.1007/3-540-60360-3_41
Matthias Felleisen, Cormac Flanagan, Set-Based Analysis for Full Scheme and Its Use in Soft-Typing ,(1995)
Oliver Danvy, Nevin Heintze, Karoline Malmkjaer, ML Partial Evaluation Using Set-Based Analysis ,(1994)
Nevin Heintze, Set Based Analysis of Arithmetic Carnegie Mellon University. ,(1993) , 10.21236/ADA274112
Robert Cartwright, Matthias Felleisen, Extensible Denotational Language Specifications international conference on theoretical aspects of computer software. pp. 244- 272 ,(1994) , 10.1007/3-540-57887-0_99
Alexander Aiken, Edward L. Wimmers, T. K. Lakshman, Soft typing with conditional types symposium on principles of programming languages. pp. 163- 173 ,(1994) , 10.1145/174675.177847
Cormac Flanagan, Matthias Felleisen, The semantics of future and its use in program optimization Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '95. pp. 209- 220 ,(1995) , 10.1145/199448.199484