skip to main content
article
Free Access

Target-sensitive construction of diagnostic programs for procedure calling sequence generators

Authors Info & Claims
Published:01 May 1996Publication History
Skip Abstract Section

Abstract

Building compilers that generate correct code is difficult. In this paper we present a compiler testing technique that closes the gap between actual compiler implementations and correct compilers. Using formal specifications of procedure calling conventions, we have built a target-sensitive test suite generator that builds test cases for a specific aspect of compiler code generators the procedure calling sequence generator. By exercising compilers with these target-specific test suites, our automated testing tool has exposed bugs in every compiler tested. These compilers include ones that have been in heavy use for many years. The detected bugs cause more than 14,000 test cases to fail.

References

  1. ADLU91 Alfred V. Aho, Anton T. Dahbura, David Lee, and M. Uyar. An optimization technique for protocol conformance test generation based on uio sequences and rural chinese postman tours. IEEE Transactions on Communications, 39(11): 1604--1615, November, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  2. BD88 Manuel E. Benitez and Jack W. Davidson. A portable global optimizer and linker. In Proceedings of the ACM SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 329--338, July 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BD94 Manuel E. Benitez and Jack W. Davidson. The advantages of machine-dependent global optimization. In Proceedings of the 1994 Conference on Programming Languages and Systems Architectures, pages 105--- 124, March 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BD95 Mark W. Bailey and Jack W. Davidson. A formal model and specification language for procedure calling conventions. In Proceedings of the 22nd SIGPLAN- SIGACT Symposium on Principles of Programming Languages, pages 298--310, January 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. FBK+91 Susumu Fujiwara, Gregorv. Bochmann, Ferhat Khendek, Mokhtar Amalou, and Abderrazak Ghedamsi. Test selection based on finite state models. IEEE Transactions on Software Engineering, 17(6):591---603, June 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. FH91 Christopher W. Fraser and David R. Hanson. A code generation interface for ANSI-C. Software~Practice and Experience, 21(9), 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Hen64 F.C. Hennie. Fault detecting experiments for sequential circuits. In Proceedings of the Fifth Annual Symposiurn on Switching Theory and Logical Design, pages 95--- 110, November 1964.Google ScholarGoogle Scholar
  8. HYHD95 Richard C. Ho, C. Han Yang, Mark A. Horowitz, and David L. Dill. Architecture validation for processors. In ISCA95, pages 404---413, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Joh S.C. Johnson. A tour through the portable c compiler.Google ScholarGoogle Scholar
  10. Koh78 Zvi Kohavi. Switching and Finite Automata Theory. McGraw-Hill, second edition, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Mea55 G.H. Mealy. A method for synthesizing sequential circuits. Bell System Technical Journal, 35(5):1045-- 1079. 1955.Google ScholarGoogle ScholarCross RefCross Ref
  12. SL89 DeepinderP. Sidhu and Ting-Kau Leung. Formal methods for protocol testing: A detailed study. IEEE Transactions of Software Engineering, 15(4):413-- 426, April 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Sta92 Richard M. Stallman. Using and Porting GNU CC (Version 2.0). Free Software Foundation, Inc., February 1992.Google ScholarGoogle Scholar
  14. YL95 Mihalis Yannakakis and David Lee. Testing finite state machines: Fault detection. Journal of Computer and System Sciences, 50:209--227, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Target-sensitive construction of diagnostic programs for procedure calling sequence generators

        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

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 31, Issue 5
          May 1996
          300 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/249069
          Issue’s Table of Contents
          • 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

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader