skip to main content
10.1145/231379.231387acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

Catching bugs in the web of program invariants

Authors Info & Claims
Published:01 May 1996Publication History

ABSTRACT

MrSpidey is a user-friendly, interactive static debugger for Scheme. A static debugger supplements the standard debugger by analyzing the program and pinpointing those program operations that may cause run-time errors such as dereferencing the null pointer or applying non-functions. The program analysis of MrSpidey computes value set descriptions for each term in the program and constructs a value flow graph connecting the set descriptions. Using the set descriptions, MrSpidey can identify and highlight potentially erroneous program operations, whose cause the programmer can then explore by selectively exposing portions of the value flow graph.

References

  1. 1.AIKEN, A., WIMMERS, E. L., AND LAKSHMAN, T. K. Soft typing with conditional types. In Proceedings of the A CM Sigplan Conference on Prin. ciples of Programming Languages (1994), pp. 163- 173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.BOUaDONCLE, F. Abstract debugging of higherorder imperative languages. In Proceedings of the A CM SIGPLAN '93 Conference on Programming Language Design and Implementation (June 1993), pp. 46-55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.CLINGER, W., AND REES, J. (Eos.). The revised4 report on the algorithmic language scheme. ACM Lisp Pointers 4, 3 (July 1991). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.CooPER, K. D., HALL, M. W., HOOD, R., KENNEDY, K., MCKINLEY, K., MELLOR- CRUMMEY, J., TORCZON, L., AND WARREN, S. The Parascope parallel programming environment. Proceedings of the iEEE (February 1993), 244-263.Google ScholarGoogle Scholar
  5. 5.COUSOT, P., AND COUSOT, R. Abstract interpretation: A unified lattice model for static analyses of programs by construction or approximation of fixpoints. In Proceedings of the A CM Sigplan Conference on Principles of Programming Languages (1977), rp-238-252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.FLANAGAN, C., AND FELLEISEN, M. Set-based analysis for full Scheme and its use in soft-typing. Rice University Computer Science TR95-253.Google ScholarGoogle Scholar
  7. 7.FLANAGAN, C., AND FELLEISEN, M. The semantics of future and its use in program optimizations, in Proceedings of the A CM Sigplan Conference on Principles of Programming Languages (1995), PP. 2O9-22O. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.FLATT, M. MrEd: An engine for portable graphical user interfaces. Rice University Computer Science TR-96-258, Rice University.Google ScholarGoogle Scholar
  9. 9.G~.cs~.G, F., AND STEINBY, M. Tree Automata. Akad~miai Kind6, Budapest, 1984.Google ScholarGoogle Scholar
  10. 10.HEINTZE, N. Set based analysis of arithmetic. Tech. Rep. CMU-CS-93-221, Carnegie Mellon University, December 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Hr. INTZE, No Set-based analysis of ML programs. In Proceedings of the A CM Conference on Lisp and Functional Programming (1994), pp. 306-317. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.HENGLEIN, F. Dynamic typing: syntax and proof theory. Science of Computer Programming 22 (1994), pp. 197-230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.HIRANANDANI, S., KENNEDY, K., TSENG, C.- W., AND WARREN, S. The D editor' A new interactive parallel programming tool. In Proceedings of $upercomputing (1994). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.JAGANNATHAN, S., AND WEEKS, S. A unified treatment of flow analysis in higher-order languages. In ~~nd A CM Symposium on Principles of Programming Languages (1995), pp. 393-407. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.JAGANNATUAN, S., AND WRIGUT, A. K. Effective flow analysis for avoiding run-time checks. In Proc. ~nd International Static Analysis Symposium, LNCS 983 (September 1995), Springer- Verlag, pp. 207-224. Preliminary version appears as part of Technical Report DAIMI-PB 493, arhus University, May 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.KENNEDY, K., MCKINLEY, K., AND TSENG, C.- W. Interactive parallel programming using the ParaScope Editor. IEEE Transactions on Parallel and Distributed Systems 2, 3 (July 1991). Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.KERNIGHAN, B. W., AND RITCHIE, D. M. The C Programming Language. Prentice-Hall, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.KRISHNAMURTHI, S. Zodiac: A programming environment builder. Rice University Computer Science TR-96-259, Rice University.Google ScholarGoogle Scholar
  19. 19.MALMKJ/gR, K., HEINTZE, N., AND DANVY, O. ML partial evaluation using set-based analysis. Tech. Rep. CMU-CS-94-129, Carnegie Mellon University, 1994.Google ScholarGoogle Scholar
  20. 20.MILLER, B., KOSKI, D., LEE, C. P., MAGANTY, V., MURTHY, P., NATARAJAN, A., AND STEIDL, J. Fuzz revisited: A re-examination of the reliability of unix utilities and services. Computer Science Department, University of Wisconsin, 1995.Google ScholarGoogle Scholar
  21. 21.MiLNER, R., TOFTr, M., AND HARPER, R. The Definition of Standard ML. The MIT Praa~, Cambridge, Massachusetts and London, England, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.PLOTKIN, G. D. Call-by-name, call-by-value, and the A-calculus. Theoretical Comput. Sci. 1 (1975), 125-159.Google ScholarGoogle ScholarCross RefCross Ref
  23. 23.SHAO, Z., AND APPEL, A. Space-efficient closure representations, in Proceedings of the A CM Symposium on Lisp and Functional Programming (1994), pp. 150-161. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.SHEI, B., AND GANNON, D. Sigmacs: A programmable programming environment. In Advances in Languages and Compilers for Parallel Computing. The MIT Press, August 1990.Google ScholarGoogle Scholar
  25. 25.SHIVERS, O. Control-flow Analysis of Higher- Order Languages, or Taming Lambda. PhD thesis, Carnegie-Mellon University, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26.STErANESCU, D., AND ZUOU, Y. An equational framework for the flow analysis of higher order functional programs, in Proceedings of the A CM Conference on Lisp and Functional Programming (1994), pp. 318-327. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27.WoLfE, M. J. :The Tiny loop restructuring research tool. In Proceedins of the 1991 International Conference on Parallel Processing (August 1991).Google ScholarGoogle Scholar
  28. 28.WRIGHT, A., AND CARTWRiGHT, Ro A practical soft type system for scheme. In Proceedings of the A CM Conference on Lisp and Functional Programming (1994), pp. 250-262. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Catching bugs in the web of program invariants

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              PLDI '96: Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
              May 1996
              300 pages
              ISBN:0897917952
              DOI:10.1145/231379

              Copyright © 1996 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 May 1996

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              PLDI '96 Paper Acceptance Rate28of112submissions,25%Overall Acceptance Rate406of2,067submissions,20%

              Upcoming Conference

              PLDI '24

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader