Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 2010
DOI: 10.1145/1806799.1806852
|View full text |Cite
|
Sign up to set email alerts
|

An empirical study of optimizations in YOGI

Abstract: Though verification tools are finding industrial use, the utility of engineering optimizations that make them scalable and usable is not widely known. Despite the fact that several optimizations are part of folklore in the communities that develop these tools, no rigorous evaluation of these optimizations has been done before. We describe and evaluate several engineering optimizations implemented in the Yogi property checking tool, including techniques to pick an initial abstraction, heuristics to pick predica… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
18
0

Year Published

2012
2012
2017
2017

Publication Types

Select...
5
3
1

Relationship

1
8

Authors

Journals

citations
Cited by 22 publications
(18 citation statements)
references
References 12 publications
0
18
0
Order By: Relevance
“…Second, YOGI has been highly optimized over several years of research and development [18], [11], [4], [10], thus, any performance improvement is considered significant. Third, it is a "third-party" tool; we were never a part of the design or implementation of YOGI.…”
Section: Discussionmentioning
confidence: 99%
“…Second, YOGI has been highly optimized over several years of research and development [18], [11], [4], [10], thus, any performance improvement is considered significant. Third, it is a "third-party" tool; we were never a part of the design or implementation of YOGI.…”
Section: Discussionmentioning
confidence: 99%
“…Picking the right predicates, either upfront or dynamically during analysis [5], is essential in this setting to ensure rapid convergence of a model checker, and is in practice achieved through a combination of "systematic" methods (for CEGAR, in particular through Craig interpolation) and heuristics. For instance, SLAM extracts refinement predicates from counterexamples using domain-specific heuristics [16]; YOGI uses machine learning to choose the default set of heuristics for picking predicates [19]; CPAchecker uses domain types to decide whether to represent variables explicitly or using BDDs [2], and to choose refinement predicates [4]; and Eldarica uses heuristics to guide the process of Craig interpolation [18]. Similar heuristics can be identified in tools based on abstract interpretation, among others.…”
Section: Introductionmentioning
confidence: 99%
“…Nevertheless, the existing tools work successfully in practice on most, if not all, problem instances; but their performance is difficult to analyze theoretically. Besides, a lot of engineering optimizations [37] go into the design of these tools whose utility can only be understood by the tool designers. We therefore take a novel approach, based on machine learning, to synthesize an algorithm selector [39] for software model checkers.…”
Section: Introductionmentioning
confidence: 99%