Matches in SemOpenAlex for { <https://semopenalex.org/work/W1738454785> ?p ?o ?g. }
- W1738454785 abstract "In automatic software verification, we have observed a theoretical convergence of model checking and program analysis. In practice, however, model checkers, on one hand, are still mostly concerned with precision, e.g., the removal of spurious counterexamples. Lattice-based program analyzers, on the other hand, are primarily concerned with efficiency. To achieve their respective goal, the former builds and refine reachability tress while the latter annotates location with abstract states and rely on overapproximation to accelerate convergence. In this thesis we focus on capturing within a framework existing approaches as well as new solutions with the objective of enabling a better understanding of the fundamental similarities and differences between approaches and with a strong accent on implementability. In a first step, we designed and implemented a framework and a corresponding algorithm for software verification called configurable program analysis. The algorithm can be configured to perform not only a purely tree-based or a purely lattice-based analysis, but offers many intermediate settings that have not been evaluated before. An instance of an analysis in the framework consists of one or more program analyses, such as a predicate abstraction or a shape analysis, and their execution and interaction is controlled using several parameters of our generic verification algorithm. Our experiments consider different configurations of combinations of symbolic analyses. By varying the value of parameters we were able to explore a continuous precision-efficiency spectrum and we showed that it can lead to dramatic improvements in efficiency. In a second step, we improved our framework and algorithm to enable the program analysis to dynamically (on-line) adjust its precision depending on the accumulated results. The framework of configurable program analysis offers flexible, but static, composition of program analyses. Our extension enables composite analyses to adjust the precision of each of their component analyses independently and dynamically. To illustrate, we can allow the explicit tracking of the values of a variable to be switched off in favor of a predicate abstraction when and where the number of different variable values that have been encountered has exceeded a specified threshold. We evaluated the dynamic precision adjustment mechanism by considering combinations of symbolic and explicit analyses. We analyzed code taken from an SSH client/server software as well as hand-crafted examples. We showed that the new approach offers significant gains compared with a purely symbolic, predicate-abstraction-based approach. In a third step, we consider the problem of refinement in addition to the dynamic adjustment of the precision. In contrast to precision adjustment, refinement only increases the precision of the analysis. Moreover, when a refinement occurs, states with a lower precision are discarded and replaced by states with a higher precision. Based on our framework, we present a novel refinement approach for shape analysis, a promising technique to prove program properties about recursive data structures. The challenge is to automatically determine the data-structure type, and to supply the shape analysis with the necessary information about the data structure. We present a stepwise approach to the selection of instrumentation predicates for a TVLA-based shape analysis, which takes us a step closer towards the fully automatic verification of data structure implementations. The approach uses two techniques to guide the refinement of shape abstractions. First, during program exploration, an explicit heap analysis collects sample instances of the heap structures. The samples are used to identify the data structures that are manipulated by the program. Second, during abstraction refinement along an infeasible error path, we consider different possible heap abstractions and choose the coarsest one that eliminates the infeasible path. We were able to successfully verify example programs from a data-structure library that manipulate doubly-linked lists and trees. The techniques presented in this thesis have been implemented as an extension to the BLAST model checker." @default.
- W1738454785 created "2016-06-24" @default.
- W1738454785 creator A5060862997 @default.
- W1738454785 date "2010-01-01" @default.
- W1738454785 modified "2023-10-18" @default.
- W1738454785 title "Software Verification by Combining Program Analyses of Adjustable Precision" @default.
- W1738454785 cites W1483568252 @default.
- W1738454785 cites W1490638967 @default.
- W1738454785 cites W1491774527 @default.
- W1738454785 cites W1495368328 @default.
- W1738454785 cites W1497571013 @default.
- W1738454785 cites W1506404239 @default.
- W1738454785 cites W1508482211 @default.
- W1738454785 cites W1508811155 @default.
- W1738454785 cites W1510368738 @default.
- W1738454785 cites W1515906028 @default.
- W1738454785 cites W1517192598 @default.
- W1738454785 cites W1519861553 @default.
- W1738454785 cites W1533964197 @default.
- W1738454785 cites W1539432158 @default.
- W1738454785 cites W1546818998 @default.
- W1738454785 cites W1552505815 @default.
- W1738454785 cites W1553858749 @default.
- W1738454785 cites W1553894716 @default.
- W1738454785 cites W1556462035 @default.
- W1738454785 cites W1557880268 @default.
- W1738454785 cites W1562679818 @default.
- W1738454785 cites W1568478782 @default.
- W1738454785 cites W1573087405 @default.
- W1738454785 cites W1577404745 @default.
- W1738454785 cites W1591856965 @default.
- W1738454785 cites W1593025666 @default.
- W1738454785 cites W1755257908 @default.
- W1738454785 cites W1774864661 @default.
- W1738454785 cites W1819209966 @default.
- W1738454785 cites W1848617919 @default.
- W1738454785 cites W1938285999 @default.
- W1738454785 cites W1959424697 @default.
- W1738454785 cites W1967031800 @default.
- W1738454785 cites W1968803687 @default.
- W1738454785 cites W1968898611 @default.
- W1738454785 cites W1975914482 @default.
- W1738454785 cites W1986447758 @default.
- W1738454785 cites W1991837261 @default.
- W1738454785 cites W1993836075 @default.
- W1738454785 cites W2004419599 @default.
- W1738454785 cites W2007123446 @default.
- W1738454785 cites W200765967 @default.
- W1738454785 cites W2009489720 @default.
- W1738454785 cites W2014764321 @default.
- W1738454785 cites W2031867273 @default.
- W1738454785 cites W2040060046 @default.
- W1738454785 cites W2043100293 @default.
- W1738454785 cites W2044590882 @default.
- W1738454785 cites W2057785252 @default.
- W1738454785 cites W206067052 @default.
- W1738454785 cites W2065675749 @default.
- W1738454785 cites W2069300761 @default.
- W1738454785 cites W2069969904 @default.
- W1738454785 cites W2076090418 @default.
- W1738454785 cites W2080573945 @default.
- W1738454785 cites W2080841971 @default.
- W1738454785 cites W2081840025 @default.
- W1738454785 cites W2082000355 @default.
- W1738454785 cites W2084294613 @default.
- W1738454785 cites W2088017390 @default.
- W1738454785 cites W2089139117 @default.
- W1738454785 cites W2093397547 @default.
- W1738454785 cites W2096449544 @default.
- W1738454785 cites W2098244894 @default.
- W1738454785 cites W2107089133 @default.
- W1738454785 cites W2107794009 @default.
- W1738454785 cites W2108408848 @default.
- W1738454785 cites W2110233633 @default.
- W1738454785 cites W2110908283 @default.
- W1738454785 cites W2113159073 @default.
- W1738454785 cites W2117009500 @default.
- W1738454785 cites W2121421673 @default.
- W1738454785 cites W2124153277 @default.
- W1738454785 cites W2127574686 @default.
- W1738454785 cites W2129538349 @default.
- W1738454785 cites W2129874841 @default.
- W1738454785 cites W2130805777 @default.
- W1738454785 cites W2131195907 @default.
- W1738454785 cites W2135163511 @default.
- W1738454785 cites W2135274583 @default.
- W1738454785 cites W2137628566 @default.
- W1738454785 cites W2139498310 @default.
- W1738454785 cites W2140856295 @default.
- W1738454785 cites W2145098440 @default.
- W1738454785 cites W2149647957 @default.
- W1738454785 cites W2150790030 @default.
- W1738454785 cites W2151463894 @default.
- W1738454785 cites W2152686702 @default.
- W1738454785 cites W2164778826 @default.
- W1738454785 cites W2166230870 @default.
- W1738454785 cites W2171040034 @default.
- W1738454785 cites W2295903414 @default.
- W1738454785 cites W2421851683 @default.
- W1738454785 cites W2504100651 @default.