2021
DOI: 10.1007/978-3-030-72013-1_31
|View full text |Cite
|
Sign up to set email alerts
|

Symbiotic 8: Beyond Symbolic Execution

Abstract: Symbiotic  8 extends the traditional combination of static analyses, instrumentation, program slicing, and symbolic execution with one substantial novelty, namely a technique mixing symbolic execution with k-induction. This technique can prove the correctness of programs with possibly unbounded loops, which cannot be done by classic symbolic execution. Symbiotic  8 delivers also several other improvements. In particular, we have modified our fork of the symbolic executor Klee to support the comparison of symbo… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
5
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 10 publications
(4 citation statements)
references
References 6 publications
0
4
0
Order By: Relevance
“…One of the key problems is the path explosion problem. To this end, different approaches have been proposed to reduce the searching spaces of paths [4,6,10,14,15,20,30,31,40,48,50,51,56,64,70,71]. However, current heuristics, no matter designed manually or learned by machine-learning techniques, are only effective for specific tasks and require substantial human work if migrated to other tasks.…”
Section: Related Workmentioning
confidence: 99%
“…One of the key problems is the path explosion problem. To this end, different approaches have been proposed to reduce the searching spaces of paths [4,6,10,14,15,20,30,31,40,48,50,51,56,64,70,71]. However, current heuristics, no matter designed manually or learned by machine-learning techniques, are only effective for specific tasks and require substantial human work if migrated to other tasks.…”
Section: Related Workmentioning
confidence: 99%
“…It uses a combination of program slicing and symbolic execution to check for memory safety, concurrency bugs, and other types of bugs. Symbiotic was proposed by [45] and has been shown to be effective in finding bugs in large C and C++ codebases. 5) SymDIVINE: SymDIVINE is a tool for the verification of distributed software systems.…”
Section: Recent Advancement In Symbolic Model Checkingmentioning
confidence: 99%
“…Here are a few of them: 2) Scalability: Symbolic model checking can handle large and complex software systems with many possible execution paths and inputs. It can also handle programs with dynamic memory allocation and recursion, which are difficult to test with traditional methods [45].…”
Section: Recent Advancement In Symbolic Model Checkingmentioning
confidence: 99%
“…We implemented our algorithms for the computation of NTSCD, DOD, and the NTSCD and DOD closure in C++ on top of the LLVM [25] infrastructure. The implementation is a part of the library for program analysis and slicing called DG [6], which is used for example in the verification and test generation tool Symbiotic [7]. We also implemented the original Ranganath et al's algorithms for NTSCD and DOD, the fixed versions of these algorithms from Subsects.…”
Section: Experimental Evaluationmentioning
confidence: 99%