Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/800027.808444acmconferencesArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article
Free access

A new approach to program testing

Published: 01 April 1975 Publication History
  • Get Citation Alerts
  • Abstract

    The current approach for testing a program is, in principle, quite primitive. Some small sample of the data that a program is expected to handle is presented to the program. If the program produces correct results for the sample, it is assumed to be correct. Much current work focuses on the question of how to choose this sample. We propose that a program can be more effectively tested by executing it "symbolically." Instead of supplying specific constants as input values to a program being tested, one supplies symbols. The normal computational definitions for the basic operations performed by a program can be expanded to accept symbolic inputs and produce symbolic formulae as output. If the flow of control in the program is completely independent of its input parameters, then all output values can be symbolically computed as formulae over the symbolic inputs and examined for correctness. When the control flow of the program is input dependent, a case analysis can be performed producing output formulae for each class of inputs determined by the control flow dependencies. Using these ideas, we have designed and implemented an interactive debugging/testing system called EFFIGY.

    References

    [1]
    Deutsch, L.P. An interactive program verifier, Ph.D. dissertation, Dept. Comp. Sci., Univ. of Calif., Berkeley CA., May 1973.
    [2]
    Floyd, R.W. Assigning meanings to programs, Proc. Symp. Appl. Math., Amer. Math. Soc., vol. 19, pp. 19-32, 1967.
    [3]
    Good, D.I. Toward a man-machine system for proving program correctness, Ph.D. dissertation, Comp. Sci. Dept., Univ. of Wisc., Madison, Wisc., June 1970.
    [4]
    King, J.C. and Floyd, R.W. An interpretation oriented theorem prover over integers, Journal of Comp. and Sys. Sci., vol. 6, no. 4, August 1972, pp. 305-323.
    [5]
    King, J.C. A program verifier, IFIP Congress 71 Proc., Aug. 1971, pp. 235-249.
    [6]
    Sites, R.L. Proving that computer programs terminate cleanly, Ph.D. dissertation, Comp. Sci. Dept., Stanford Univ., Stanford, CA., May 1974.
    [7]
    Topor, R. W. Interactive program verification using virtual programs, Ph.D. dissertation, Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland, February 1975.
    [8]
    Topor, R. W. and Burstall, R. M. Verification of programs by symbolic execution - progress report, unpublished report, Dept. of Mach. Intelligence, Univ. of Edinburgh, Edinburgh, Scotland, December 1973.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    Proceedings of the international conference on Reliable software
    April 1975
    567 pages
    ISBN:9781450373852
    DOI:10.1145/800027
    Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 April 1975

    Check for updates

    Author Tags

    1. Program correctness
    2. Program testing
    3. Program verification
    4. Symbolic execution
    5. Symbolic interpretation

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)160
    • Downloads (Last 6 weeks)14

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A Survey of Software Dynamic Analysis MethodsProgramming and Computing Software10.1134/S036176882401007950:1(90-114)Online publication date: 1-Feb-2024
    • (2023)Dynamic TopHat: Start and Stop Tasks at RuntimeProceedings of the 35th Symposium on Implementation and Application of Functional Languages10.1145/3652561.3652574(1-13)Online publication date: 29-Aug-2023
    • (2023)Grisette: Symbolic Compilation as a Functional Programming LibraryProceedings of the ACM on Programming Languages10.1145/35712097:POPL(455-487)Online publication date: 11-Jan-2023
    • (2023)An Ethological Analysis of Developmental Behavior in Machines2023 IEEE International Conference on Development and Learning (ICDL)10.1109/ICDL55364.2023.10364472(79-86)Online publication date: 9-Nov-2023
    • (2023)Developmental Autonomous Behavior: An Ethological Perspective to Understanding MachinesIEEE Access10.1109/ACCESS.2023.324684011(17375-17423)Online publication date: 2023
    • (2022)Metaheuristic Techniques for Test Case GenerationResearch Anthology on Agile Software, Software Development, and Testing10.4018/978-1-6684-3702-5.ch052(1043-1058)Online publication date: 2022
    • (2022)ReMuSSE: A Redundant Mutant Identification Technique Based on Selective Symbolic ExecutionIEEE Transactions on Reliability10.1109/TR.2020.301142371:1(415-428)Online publication date: Mar-2022
    • (2021)Themis: Ambiguity-Aware Network Intrusion Detection based on Symbolic Model ComparisonProceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security10.1145/3460120.3484762(3384-3399)Online publication date: 12-Nov-2021
    • (2021)WANA: Symbolic Execution of Wasm Bytecode for Extensible Smart Contract Vulnerability Detection2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS54544.2021.00102(926-937)Online publication date: Dec-2021
    • (2021)Static detection of uncoalesced accesses in GPU programsFormal Methods in System Design10.1007/s10703-021-00362-860:1(1-32)Online publication date: 5-Mar-2021
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media