IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems · 2018 · 42 citations · 23 references
ComputingComputer EngineeringComputer ScienceFormal MethodsModel-based Systems EngineeringSystems ModelingDeductive VerificationModel CheckingSpecification LanguagesSymbolic ExecutionSystem SimulationVerificationConcurrent ProcessesPartial-order ReductionSimulation SemanticsState Space ExplorationState-space ReductionState-space StructureSymbolic VerificationSystemc Modeling
Formal verification of high-level SystemC designs is an important and challenging problem. One has to deal with the full complexity of C++ to extract a suitable formal model (front-end problem) and then, with large cyclic state spaces defined by symbolic inputs and concurrent processes. This paper describes a scalable and efficient stateful symbolic simulation approach for SystemC that combines state subsumption reduction (SSR) with partial order reduction (POR) and symbolic execution (SymEx) under the SystemC simulation semantics. While the SymEx+POR combination provides basic capabilities to efficiently explore the state space, SSR prevents revisiting symbolic states and therefore makes the verification complete. The approach has been implemented on top of an intermediate verification language for SystemC to address the front-end problem. The scalability and efficiency of the implemented verifier is demonstrated using an extensive set of experiments.
23
Symbolic execution and program testing
James C. King · Communications of the ACM · 1976 · 3K citations · Full text
Dynamic partial-order reduction for model checking software
Cormac Flanagan, Patrice Godefroid · 2005 · 641 citations · Full text