Toward a man-machine system for proving program correctness
Toward a man-machine system for proving program correctness
Proving that computer programs terminate cleanly.
Proving that computer programs terminate cleanly.
Combining Static Concurrency Analysis with Symbolic Execution
IEEE Transactions on Software Engineering
State Constraints and Pathwise Decomposition of Programs
IEEE Transactions on Software Engineering
Strategic directions in software quality
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
Dynamic Verification of C++ Generic Algorithms
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Data Flow Analysis in Software Reliability
ACM Computing Surveys (CSUR)
An Introduction to Proving the Correctness of Programs
ACM Computing Surveys (CSUR)
Test data as an aid in proving program correctness
Communications of the ACM
Symbolic execution and program testing
Communications of the ACM
A system to improve incorrect programs
ICSE '79 Proceedings of the 4th international conference on Software engineering
Automated proofs of microprogram correctness
MICRO 9 Proceedings of the 9th annual workshop on Microprogramming
Allegations as aids to static program testing
ACM '76 Proceedings of the 1976 annual conference
An interactive Automated Test Data Generator
ACM '76 Proceedings of the 1976 annual conference
ACM '76 Proceedings of the 1976 annual conference
Program testing techniques using simulated execution
ANSS '76 Proceedings of the 4th symposium on Simulation of computer systems
SELECT—a formal system for testing and debugging programs by symbolic execution
Proceedings of the international conference on Reliable software
Proceedings of the international conference on Reliable software
IDBUG: A tool for program development
Proceedings of the software quality assurance workshop on Functional and performance issues
Test data as an aid in proving program correctness
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Symbolic simulation for correct machine design
DAC '79 Proceedings of the 16th Design Automation Conference
Control flow, data flow & data independence
ACM SIGPLAN Notices
In defense of program testing or correctness proofs considered harmful
ACM SIGPLAN Notices
A top-down view of software engineering
ACM SIGSOFT Software Engineering Notes
Classics in software engineering
IEEE Transactions on Computers
Test Purpose Concretization through Symbolic Action Refinement
TestCom '08 / FATES '08 Proceedings of the 20th IFIP TC 6/WG 6.1 international conference on Testing of Software and Communicating Systems: 8th International Workshop
Failure-tolerant parallel programming and its supporting system architecture
AFIPS '76 Proceedings of the June 7-10, 1976, national computer conference and exposition
Experiments with a symbolic evaluation system
AFIPS '76 Proceedings of the June 7-10, 1976, national computer conference and exposition
Test purpose generation for service evolutions: a symbolic approach
Proceedings of the 2009 ESEC/FSE workshop on Software integration and evolution @ runtime
Meta-interpretation of recursive list-processing programs
IJCAI'79 Proceedings of the 6th international joint conference on Artificial intelligence - Volume 2
Meta-evaluation as a tool for program understanding
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
Symbolic execution techniques for refinement testing
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Experimental study on GA-based path-oriented test data generation using branch distance
IITA'09 Proceedings of the 3rd international conference on Intelligent information technology application
Using program specific search operators in test data generation
ECC'10 Proceedings of the 4th conference on European computing conference
Program-operators to improve test data generation search
WSEAS Transactions on Computers
Behavioral test generation using mixed integer non-linear programming
ITC'94 Proceedings of the 1994 international conference on Test
Testing techniques in software engineering
Testing techniques in software engineering
Functional test generation of digital LSI/VLSI systems using machine symbolic execution technique
ITC'84 Proceedings of the 1984 international test conference on The three faces of test: design, characterization, production
Efficient deterministic multithreading through schedule relaxation
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Symbolic execution techniques for test purpose definition
TestCom'06 Proceedings of the 18th IFIP TC6/WG6.1 international conference on Testing of Communicating Systems
An open extensible tool environment for event-b
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
The S2E Platform: Design, Implementation, and Applications
ACM Transactions on Computer Systems (TOCS) - Special Issue APLOS 2011
A symbolic framework for model-based testing
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
The Rodin formal modelling tool
FACS-FMI'07 Proceedings of the 2007th internatioanal conference on Formal Methods in Industry
Efficient state merging in symbolic execution
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Evolutionary algorithms for the multi-objective test data generation problem
Software—Practice & Experience
Automated coverage calculation and test case generation
Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference
Symbolic model based testing for component oriented systems
TestCom'07/FATES'07 Proceedings of the 19th IFIP TC6/WG6.1 international conference, and 7th international conference on Testing of Software and Communicating Systems
A SOFT way for openflow switch interoperability testing
Proceedings of the 8th international conference on Emerging networking experiments and technologies
Symbolic testing of OpenCL code
HVC'11 Proceedings of the 7th international Haifa Verification conference on Hardware and Software: verification and testing
Verifying cloud services: present and future
ACM SIGOPS Operating Systems Review
Hi-index | 0.03 |
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.