A practical algorithm for exact array dependence analysis
Communications of the ACM
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Solving shape-analysis problems in languages with destructive updating
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using model checking to generate tests from requirements specifications
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
A static analyzer for finding dynamic programming errors
Software—Practice & Experience
Symbolic execution and program testing
Communications of the ACM
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
The pointer assertion logic engine
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Using symbolic execution for verifying safety-critical systems
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Model checking Java programs using structural heuristics
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Korat: automated testing based on Java predicates
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
A Temporal Logic Based Theory of Test Coverage and Generation
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Automated Verification of Concurrent Linked Lists with Counters
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Deviation Analysis Through Model Checking
Proceedings of the 17th IEEE international conference on Automated software engineering
Checking properties of heap-manipulating procedures with a constraint solver
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Generating Tests from Counterexamples
Proceedings of the 26th International Conference on Software Engineering
Test input generation with java PathFinder
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Software assurance by bounded exhaustive testing
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
TestEra: Specification-Based Testing of Java Programs Using SAT
Automated Software Engineering
Scalable error detection using boolean satisfiability
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A local approach for temporal model checking of Java bytecode
Journal of Computer and System Sciences
Software Assurance by Bounded Exhaustive Testing
IEEE Transactions on Software Engineering
CUTE: a concolic unit testing engine for C
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Verifying Time Partitioning in the DEOS Scheduling Kernel
Formal Methods in System Design
Combining test case generation and runtime verification
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
Test input generation for red-black trees using abstraction
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Generalizing symbolic execution to library classes
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Verification of C Programs using Slicing Execution
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Object distance and its application to adaptive random testing of object-oriented programs
Proceedings of the 1st international workshop on Random testing
Test input generation for java containers using state matching
Proceedings of the 2006 international symposium on Software testing and analysis
Using model checking with symbolic execution to verify parallel numerical programs
Proceedings of the 2006 international symposium on Software testing and analysis
Application of automated environment generation to commercial software
Proceedings of the 2006 international symposium on Software testing and analysis
Efficient software model checking of data structure properties
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
EXE: automatically generating inputs of death
Proceedings of the 13th ACM conference on Computer and communications security
Saturn: A scalable framework for error detection using Boolean satisfiability
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
Formal Software Analysis Emerging Trends in Software Model Checking
FOSE '07 2007 Future of Software Engineering
Under-constrained execution: making automatic code destruction easy and scalable
Proceedings of the 2007 international symposium on Software testing and analysis
Variably interprocedural program analysis for runtime error detection
Proceedings of the 2007 international symposium on Software testing and analysis
On checking the consistency of Object-Z classes
ACM SIGSOFT Software Engineering Notes
Finding bugs efficiently with a SAT solver
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Predictive testing: amplifying the effectiveness of software testing
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Predictive testing: amplifying the effectiveness of software testing
The 6th Joint Meeting on European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering: companion papers
Starc: static analysis for efficient repair of complex data
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Test data generation for programming exercises with symbolic execution in Java PathFinder
Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006
Assertion-based repair of complex data structures
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Creating and visualizing test data from programming exercises
Informatics in education
DSD-Crasher: A hybrid analysis tool for bug finding
ACM Transactions on Software Engineering and Methodology (TOSEM)
Combining symbolic execution with model checking to verify parallel numerical programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
ARTOO: adaptive random testing for object-oriented software
Proceedings of the 30th international conference on Software engineering
Incremental state-space exploration for programs with dynamically allocated data
Proceedings of the 30th international conference on Software engineering
Juzi: a tool for repairing complex data structures
Proceedings of the 30th international conference on Software engineering
Handling dynamic data structures in search based testing
Proceedings of the 10th annual conference on Genetic and evolutionary computation
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Efficient solving of structural constraints
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Universal symbolic execution and its application to likely data structure invariant generation
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
SAFELI: SQL injection scanner using symbolic execution
TAV-WEB '08 Proceedings of the 2008 workshop on Testing, analysis, and verification of web services and applications
Automatic, evolutionary test data generation for dynamic software testing
Journal of Systems and Software
CPBPV: A Constraint-Programming Framework for Bounded Program Verification
CP '08 Proceedings of the 14th international conference on Principles and Practice of Constraint Programming
Efficient software model checking of soundness of type systems
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
EXE: Automatically Generating Inputs of Death
ACM Transactions on Information and System Security (TISSEC)
Component-Level Energy Consumption Estimation for Distributed Java-Based Software Systems
CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
Context-Sensitive Relevancy Analysis for Efficient Symbolic Execution
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Automated test data generation for aspect-oriented programs
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Whispec: white-box testing of libraries using declarative specifications
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
Symbolic program analysis using term rewriting and generalization
Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design
WISE: Automated test generation for worst-case complexity
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Precise interface identification to improve testing and analysis of web applications
Proceedings of the eighteenth international symposium on Software testing and analysis
Efficient Testing of Concurrent Programs with Abstraction-Guided Symbolic Execution
Proceedings of the 16th International SPIN Workshop on Model Checking Software
Dynamic Symbolic Execution for Testing Distributed Objects
TAP '09 Proceedings of the 3rd International Conference on Tests and Proofs
MSeqGen: object-oriented unit-test generation via mining source code
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
The dependence condition graph: Precise conditions for dependence between program points
Computer Languages, Systems and Structures
Automated Analysis of Reo Circuits using Symbolic Execution
Electronic Notes in Theoretical Computer Science (ENTCS)
A Formal Framework for Service Orchestration Testing Based on Symbolic Transition Systems
TESTCOM '09/FATES '09 Proceedings of the 21st IFIP WG 6.1 International Conference on Testing of Software and Communication Systems and 9th International FATES Workshop
An Incremental Approach to Scope-Bounded Checking Using a Lightweight Formal Method
FM '09 Proceedings of the 2nd World Congress on Formal Methods
An Empirical Study of Structural Constraint Solving Techniques
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
PET: a partial evaluation-based test case generation tool for Java bytecode
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
XRT-- Exploring Runtime for .NET Architecture and Applications
Electronic Notes in Theoretical Computer Science (ENTCS)
Error Detection in Concurrent Java Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
ExpliSAT: Guiding SAT-based software verification with explicit states
HVC'06 Proceedings of the 2nd international Haifa verification conference on Hardware and software, verification and testing
A race-detection and flipping algorithm for automated testing of multi-threaded programs
HVC'06 Proceedings of the 2nd international Haifa verification conference on Hardware and software, verification and testing
Type-dependence analysis and program transformation for symbolic execution
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
JPF-SE: a symbolic execution extension to Java PathFinder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Proving programs incorrect using a sequent calculus for Java dynamic logic
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Intelligent software engineering tools for NASA's crew exploration vehicle
ISMIS'08 Proceedings of the 17th international conference on Foundations of intelligent systems
Symbolic execution and model checking for testing
HVC'07 Proceedings of the 3rd international Haifa verification conference on Hardware and software: verification and testing
Methods to tackle state explosion problem in model checking
IITA'09 Proceedings of the 3rd international conference on Intelligent information technology application
Test generation through programming in UDITA
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Parallel symbolic execution for structural test generation
Proceedings of the 19th international symposium on Software testing and analysis
KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Symbolic PathFinder: symbolic execution of Java bytecode
Proceedings of the IEEE/ACM international conference on Automated software engineering
Efficient modular glass box software model checking
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Testing object-oriented programs using dynamic aspects and non-determinism
Proceedings of the 1st Workshop on Testing Object-Oriented Systems
Automatic formal verification of MPI-based parallel programs
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Proceedings of the 33rd International Conference on Software Engineering
Symbolic execution for software testing in practice: preliminary assessment
Proceedings of the 33rd International Conference on Software Engineering
Bakar Kiasan: flexible contract checking for critical systems using symbolic execution
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Retrofitting unit tests for parameterized unit testing
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
kb-anonymity: a model for anonymized behaviour-preserving test and debugging data
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Directed incremental symbolic execution
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Applying SMT in symbolic execution of microcode
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Symbolic execution with mixed concrete-symbolic solving
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Partial replay of long-running applications
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Checking the behavioral conformance of web services with symbolic testing and an SMT solver
TAP'11 Proceedings of the 5th international conference on Tests and proofs
PSO based pseudo dynamic method for automated test case generation using interpreter
ICSI'11 Proceedings of the Second international conference on Advances in swarm intelligence - Volume Part I
Practical, low-effort equivalence verification of real code
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Formal analysis of MPI-based parallel programs
Communications of the ACM
Enhancing spark's contract checking facilities using symbolic execution
SIGAda '11 Proceedings of the 2011 ACM annual international conference on Special interest group on the ada programming language
Symbolic execution of alloy models
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Model checking real time java using java pathfinder
ATVA'05 Proceedings of the Third international conference on Automated Technology for Verification and Analysis
Stateful dynamic partial-order reduction
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Symstra: a framework for generating object-oriented unit tests using symbolic execution
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Repairing structurally complex data
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
An extensible open-source compiler infrastructure for testing
HVC'05 Proceedings of the First Haifa international conference on Hardware and Software Verification and Testing
Symbolic execution with abstract subsumption checking
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
A symbolic analysis framework for static analysis of imperative programming languages
Journal of Systems and Software
Symbolic execution of concurrent objects in CLP
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Behavioral interface specification languages
ACM Computing Surveys (CSUR)
Loop invariant symbolic execution for parallel programs
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Symbolic execution of Reo circuits using constraint automata
Science of Computer Programming
Mixed constraints for test input generation - An initial exploration
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Heap cloning: Enabling dynamic symbolic execution of java programs
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Automatic generation of load tests
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Efficient and formal generalized symbolic execution
Automated Software Engineering
A NICE way to test openflow applications
NSDI'12 Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Efficient symbolic execution of value-based data structures for critical systems
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Probabilistic symbolic execution
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Dynamic constraint satisfaction problems over models
Software and Systems Modeling (SoSyM)
Predicting concurrency failures in the generalized execution traces of x86 executables
RV'11 Proceedings of the Second international conference on Runtime verification
Alternate and learn: finding witnesses without looking all over
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Predicate abstraction of Java programs with collections
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Scaling symbolic execution using ranged analysis
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Implementing conformiq Qtronic
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
Test input generation using dynamic programming
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Rubicon: bounded verification of web applications
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Efficiently generating structurally complex inputs with thousands of objects
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
ACM SIGSOFT Impact Paper Award 2012: Systematic Software Testing: The Korat Approach
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Automatic inference of specifications using matching logic
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Thresher: precise refutations for heap reachability
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Variable and thread bounding for systematic testing of multithreaded programs
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Explicating symbolic execution (xSymExe): an evidence-based verification framework
Proceedings of the 2013 International Conference on Software Engineering
State of the art: Dynamic symbolic execution for automated test generation
Future Generation Computer Systems
Enhancing symbolic execution with built-in term rewriting and constrained lazy initialization
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Enabledness-based program abstractions for behavior validation
ACM Transactions on Software Engineering and Methodology (TOSEM) - In memoriam, fault detection and localization, formal methods, modeling and design
An orchestrated survey of methodologies for automated software test case generation
Journal of Systems and Software
Scaling symbolic execution using staged analysis
Innovations in Systems and Software Engineering
Dowsing for overflows: a guided fuzzer to find buffer boundary violations
SEC'13 Proceedings of the 22nd USENIX conference on Security
Verification of complex dynamic data tree with mu-calculus
Automated Software Engineering
Towards a lazier symbolic pathfinder
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.02 |
Modern software systems, which often are concurrent and manipulate complex data structures must be extremely reliable. We present a novel framework based on symbolic execution, for automated checking of such systems. We provide a two-fold generalization of traditional symbolic execution based approaches. First, we define a source to source translation to instrument a program, which enables standard model checkers to perform symbolic execution of the program. Second, we give a novel symbolic execution algorithm that handles dynamically allocated structures (e.g., lists and trees), method preconditions (e.g., acyclicity), data (e.g., integers and strings) and concurrency. The program instrumentation enables a model checker to automatically explore different program heap configurations and manipulate logical formulae on program data (using a decision procedure). We illustrate two applications of our framework: checking correctness of multi-threaded programs that take inputs from unbounded domains with complex structure and generation of non-isomorphic test inputs that satisfy a testing criterion. Our implementation for Java uses the Java PathFinder model checker.