2014
DOI: 10.1016/j.scico.2013.01.006
|View full text |Cite
|
Sign up to set email alerts
|

Software verification with VeriFast: Industrial case studies

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
32
0
1

Year Published

2015
2015
2021
2021

Publication Types

Select...
6

Relationship

2
4

Authors

Journals

citations
Cited by 37 publications
(35 citation statements)
references
References 10 publications
0
32
0
1
Order By: Relevance
“…We distinguish between the total amount of annotations required to verify a function vs. their subset that specifies data structure manipulations only, i.e., those that are in the scope of our approach. Annotations are quantified in terms of separating conjuncts, which loosely correspond to lines of annotations as given in [15]. As dsOli remains a prototype tool, runtime is in the order of tens-of-minutes and requires a few GBs of RAM; since these factors depend on trace length and average points-to graph size, shorter, more representative traces can significantly reduce the requirements.…”
Section: Discussionmentioning
confidence: 99%
See 4 more Smart Citations
“…We distinguish between the total amount of annotations required to verify a function vs. their subset that specifies data structure manipulations only, i.e., those that are in the scope of our approach. Annotations are quantified in terms of separating conjuncts, which loosely correspond to lines of annotations as given in [15]. As dsOli remains a prototype tool, runtime is in the order of tens-of-minutes and requires a few GBs of RAM; since these factors depend on trace length and average points-to graph size, shorter, more representative traces can significantly reduce the requirements.…”
Section: Discussionmentioning
confidence: 99%
“…Local reasoning by means of separation logic [14] has been proposed as a way to tackle this challenge. A wellknown tool in this domain is VeriFast [15], a sound static verifier for C and Java programs. It modularly checks via symbolic execution [2] that each function in a program satisfies its specification, and enforces global invariants that guarantee the absence of illegal memory accesses and data races.…”
Section: Introductionmentioning
confidence: 99%
See 3 more Smart Citations