Model checking
Symbolic Model Checking without BDDs
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Behavioral consistency of C and verilog programs using bounded model checking
Proceedings of the 40th annual Design Automation Conference
Concurrent Bug Patterns and How to Test Them
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
Context-Bounded model checking of concurrent software
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Verification of SpecC using predicate abstraction
Formal Methods in System Design
CheckFence: checking consistency of concurrent data types on relaxed memory models
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Efficient Modeling of Concurrent Systems in BMC
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Static and Precise Detection of Concurrency Errors in Systems Code Using SMT Solvers
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Reduction of Verification Conditions for Concurrent System Using Mutually Atomic Transactions
Proceedings of the 16th International SPIN Workshop on Model Checking Software
Symbolic pruning of concurrent program executions
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Model-based Kernel Testing for Concurrency Bugs through Counter Example Replay
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
Platform-Specific Restrictions on Concurrency in Model Checking of Java Programs
FMICS '09 Proceedings of the 14th International Workshop on Formal Methods for Industrial Critical Systems
Symbolic Predictive Analysis for Concurrent Programs
FM '09 Proceedings of the 2nd World Congress on Formal Methods
A symbolic verifier for CUDA programs
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
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
Explaining intermittent concurrent bugs by minimizing scheduling noise
HVC'06 Proceedings of the 2nd international Haifa verification conference on Hardware and software, verification and testing
Bounded reachability checking of asynchronous systems using decision diagrams
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Integrated static analysis for Linux device driver verification
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
SMT-based bounded model checking for multi-threaded software in embedded systems
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Staged concurrent program analysis
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Context-bounded translations for concurrent software: an empirical evaluation
SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
Verifying multi-threaded software using smt-based context-bounded model checking
Proceedings of the 33rd International Conference on Software Engineering
Verifying SystemC: a software model checking approach
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Program model checking via action planning
MoChArt'10 Proceedings of the 6th international conference on Model checking and artificial intelligence
Randomized backtracking in state space traversal
Proceedings of the 18th international SPIN conference on Model checking software
Context-bounded model checking of LTL properties for ANSI-C software
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Checking bounded reachability in asynchronous systems by symbolic event tracing
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
Symbolic model checking of concurrent programs using partial orders and on-the-fly transactions
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Bounded model checking of concurrent data types on relaxed memory models: a case study
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Wolf: bug hunter for concurrent software using formal methods
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Applicability of the BLAST model checker: an industrial case study
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Trace-Based symbolic analysis for atomicity violations
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Symbolic consistency checking of OpenMp parallel programs
Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems
LLVMVF: A Generic Approach for Verification of Multicore Software
Journal of Electronic Testing: Theory and Applications
Hi-index | 0.00 |
We propose a SAT-based bounded verification technique, called TCBMC, for threaded C programs. Our work is based on CBMC, which models sequential C programs in which the number of executions for each loop and the depth of recursion are bounded. The novelty of our approach is in bounding the number of context switches allowed among threads. Thus, we obtain an efficient modeling that can be sent to a SAT solver for property checking. We also suggest a novel technique for modeling mutexes and Pthread conditions in concurrent programs. Using this bounded technique, we can detect bugs that invalidate safety properties. These include races and deadlocks, the detection for which is crucial for concurrent programs.