A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2019; you can also visit the original URL.
The file type is
Software verification competitions, such as the annual SV-COMP, evaluate software verification tools with respect to their effectivity and efficiency. Typically, the outcome of a competition is a (possibly category-specific) ranking of the tools. For many applications, such as building portfolio solvers, it would be desirable to have an idea of the (relative) performance of verification tools on a given verification task beforehand, i.e., prior to actually running all tools on the task. In thisarXiv:1703.00757v1 fatcat:rk4hob6lhjdmtfzdjf4ce4bdxe
more »... paper, we present a machine learning approach to predicting rankings of tools on verification tasks. The method builds upon so-called label ranking algorithms, which we complement with appropriate kernels providing a similarity measure for verification tasks. Our kernels employ a graph representation for software source code that mixes elements of control flow and program dependence graphs with abstract syntax trees. Using data sets from SV-COMP, we demonstrate our rank prediction technique to generalize well and achieve a rather high predictive accuracy. In particular, our method outperforms a recently proposed feature-based approach of Demyanova et al. (when applied to rank predictions).
Meanwhile we also experimented with combinations of bounded model checking and symbolic execution. 4 https://github.com/sosy-lab/sv-benchmarks 108 Dirk Beyer, Marie-Christine Jakobs ...doi:10.18420/se2020_31 dblp:conf/se/0001J20 fatcat:nwzbdq4qlvabpcqcosjibgnk2i
Lecture Notes in Computer Science
Testing is a widely used method to assess software quality. Coverage criteria and coverage measurements are used to ensure that the constructed test suites adequately test the given software. Since manually developing such test suites is too expensive in practice, various automatic test-generation approaches were proposed. Since all approaches come with different strengths, combinations are necessary in order to achieve stronger tools. We study cooperative combinations of verificationdoi:10.1007/978-3-030-16722-6_23 fatcat:ehifxhlfffda3pvqmqhqak3r2m
more »... for test generation, with high-level information exchange. We present CoVeriTest, a hybrid approach for test-case generation, which iteratively applies different conditional model checkers. Thereby, it allows to adjust the level of cooperation and to assign individual time budgets per verifier. In our experiments, we combine explicit-state model checking and predicate abstraction (from CPAchecker) to systematically study different CoVeriTest configurations. Moreover, CoVeriTest achieves higher coverage than state-of-the-art test-generation tools for some programs.
Modern software-verification tools need to support development processes that involve frequent changes. Existing approaches for incremental verification hard-code specific verification techniques. Some of the approaches must be tightly intertwined with the development process. To solve this open problem, we present the concept of difference verification with conditions. Difference verification with conditions is independent from any specific verification technique and can be integrated indoi:10.1007/978-3-030-58768-0_8 fatcat:atlkxquk5zah7kkddspqmboq3i
more »... re projects at any time. It first applies a change analysis that detects which parts of a software were changed between revisions and encodes that information in a condition. Based on this condition, an off-the-shelf verifier is used to verify only those parts of the software that are influenced by the changes. As a proof of concept, we propose a simple, syntax-based change analysis and use difference verification with conditions with three off-the-shelf verifiers. An extensive evaluation shows the competitiveness of difference verification with conditions.
Lecture Notes in Computer Science
Today, software verification is an established analysis method which can provide high guarantees for software safety. However, the resources (time and/or memory) for an exhaustive verification are not always available, and analysis then has to resort to other techniques, like testing. Most often, the already achieved partial verification results are discarded in this case, and testing has to start from scratch. In this paper, we propose a method for combining verification and testing in whichdoi:10.1007/978-3-662-46675-9_7 fatcat:luylr7izyncarguwivddpuzmuu
more »... sting only needs to check the residual fraction of an uncompleted verification. To this end, the partial results of a verification run are used to construct a residual program (and residual assertions to be checked on it). The residual program can afterwards be fed into standard testing tools. The proposed technique is sound modulo the soundness of the testing procedure. Experimental results show that this combined usage of verification and testing can significantly reduce the effort for the subsequent testing.
Lecture Notes in Computer Science
Contributors are Marie-Christine Jakobs and Cedric Richter. We also like to thank all developers of CPAchecker. ...doi:10.1007/978-3-030-71500-7_18 fatcat:rebuxh6hjvd4zf2c5mq2lno5pu
There are many hard verification problems that are currently only solvable by applying several verifiers that are based on complementing technologies. Conditional model checking (CMC) is a successful solution for cooperation between verification tools. In CMC, the first verifier outputs a condition describing the state space that it successfully verified. The second verifier uses the condition to focus its verification on the unverified state space. To use arbitrary second verifiers, wedoi:10.1007/978-3-030-58768-0_7 fatcat:kesg4biuu5g6tilogtce57qjuu
more »... proposed a reducer-based approach. One can use the reducer-based approach to construct a conditional verifier from a reducer and a (non-conditional) verifier: the reducer translates the condition into a residual program that describes the unverified state space and the verifier can be any off-the-shelf verifier (that does not need to understand conditions). Until now, only one reducer was available. But for a systematic investigation of the reducer concept, we need several reducers. To fill this gap, we developed FRed, a Framework for exploring different REDucers. Given an existing reducer, FRed allows us to derive various new reducers, which differ in their trade-off between size and precision of the residual program. For our experiments, we derived seven different reducers. Our evaluation on the largest and most diverse public collection of verification problems shows that we need all seven reducers to solve hard verification tasks that were not solvable before with the considered verifiers.
Approximate computing (AC) is an emerging paradigm for energy-efficient computation. The basic idea of AC is to sacrifice high precision for low energy by allowing for hardware which only carries out "approximately correct" calculations. For software verification, this challenges the validity of verification results for programs run on approximate hardware. In this paper, we present a novel approach to examine program correctness in the context of approximate computing. In contrast to allarXiv:1604.08784v2 fatcat:4fzsxhxv4fhq7dsffljaluqow4
more »... ng approaches, we start with a standard program verification and compute the allowed tolerances for AC hardware from that verification run. More precisely, we derive a set of constraints which - when met by the AC hardware - guarantees the verification result to carry over to AC. Our approach is based on the framework of abstract interpretation. On the practical side, we furthermore (1) show how to extract tolerance constraints from verification runs employing predicate abstraction as an instance of abstract interpretation, and (2) show how to check such constraints on hardware designs. We exemplify our technique on example C programs and a number of recently proposed approximate adders.
Software verification received lots of attention in the past two decades. Nonetheless, it remains an extremely difficult problem. Some verification tasks cannot be solved automatically by any of today's verifiers. To still verify such tasks, one can combine the strengths of different verifiers. A promising approach to create combinations is conditional model checking (CMC). In CMC, the first verifier outputs a condition that describes the parts of the program state space that it successfullydoi:10.18420/se2019-46 dblp:conf/se/0001J0W19 fatcat:lvmekx2kdfgafebop7po56juve
more »... ified, and the next verifier uses that condition to steer its exploration towards the unverified state space. Despite the benefits of CMC, only few verifiers can handle conditions. To overcome this problem, we propose an automatic plug-and-play extension for verifiers. Instead of modifying verifiers, we suggest to add a preprocessor: the reducer. The reducer takes the condition and the original program and computes a residual program that encodes the unverified state space in program code. We developed one such reducer and use it to integrate existing verifiers and test-case generators into the CMC process. Our experiments show that we can solve many additional verification tasks with this reducer-based construction.
Diet is one of the pillars in the prevention and management of diabetes mellitus. Particularly, eating patterns characterized by a high consumption of foods such as fruits or vegetables and beverages such as coffee and tea could influence the development and progression of type 2 diabetes. Flavonoids, whose intake has been inversely associated with numerous negative health outcomes in the last few years, are a common constituent of these food items. Therefore, they could contribute to thedoi:10.3390/nu12061592 pmid:32485837 pmcid:PMC7352288 fatcat:zkcdrnizvfbirbtlnhfe3i446a
more »... ed positive effects of certain dietary habits in individuals with type 2 diabetes. Of all the different flavonoid subclasses, flavan-3-ols are consumed the most in the European region. However, a large proportion of the ingested flavan-3-ols is not absorbed. Therefore, the flavan-3-ols enter the large intestine where they become available to the colonic bacteria and are metabolized by the microbiota. For this reason, in addition to the parent compounds, the colonic metabolites of flavan-3-ols could take part in the prevention and management of diabetes. The aim of this review is to present the available literature on the effect of both the parent flavan-3-ol compounds found in different food sources as well as the specific microbial metabolites of diabetes in order to better understand their potential role in the prevention and treatment of the disease.
Redaktör Marie-Christine Skuncke, Kungl. Vittterhets Historie och Antikvitets Academien, Stockholm, 2005 (132 s.) ... Närmast ansvariga för denna väl genomförda begivenhet, som både gav plats till yngre inhemska och finska forskare och etablerade akademiker från USA, Frankrike och England, var Eva Österberg och Marie-Christine ...doi:10.7557/4.2913 fatcat:spnc3xrl3bhbvbnoildybdrl44
Our CoVeriTest submission, which is implemented in the analysis framework CPAchecker, uses verification techniques for automatic test-case generation. To this end, it checks the reachability of every test goal and generates one test case per reachable goal. Instead of checking the reachability of every test goal individually, which is too expensive, CoVeriTest considers all test goals at once and removes already covered goals from future reachability queries. To deal with the diverse set ofdoi:10.1007/978-3-030-45234-6_30 fatcat:gounrrbnlrhh3k3h7arumucvai
more »... -Comp tasks, CoVeriTest uses a hybrid approach that interleaves value and predicate analysis. In contrast to Test-Comp'19, the time limit per iteration is no longer fixed for an analysis. Instead, we fix the iteration time limit and split it dynamically among the analyses, rewarding analyses that previously covered more test goals per time unit.
Citation information: DOI 10.1109/ACCESS.2021.3131213, IEEE Access Jakobs et al.: Software/Hardware Co-Verification for Custom Instruction Set Processors n property checker error error=P(in,out) m in n ... Translation Custom Instruction Pre-& Postconditions (.smt) This work is licensed under a Creative Commons Attribution 4.0 License.For more information, see https://creativecommons.org/licenses/by/4.0/Jakobs ...doi:10.1109/access.2021.3131213 fatcat:mcnoifxzxvg6fph4gg5adjzp3e
Refactorings must not alter the program's functionality. However, not all refactorings fulfill this requirement. Hence, one must explicitly check that a refactoring does not alter the functionality. Since one rarely has a formal specification of the program's behavior, we utilize the original program as functional specification. Then, we check whether the original and refactored program are functionally equivalent. To this end, we apply a common idea and reduce equivalence checking to programarXiv:2101.09042v2 fatcat:4yaipkges5hzpnsl43tro64r7a
more »... rification. To increase efficiency, our equivalence checker PEQcheck constructs one verification task per refactored code segment instead of one per function as typically done by prior work. In addition, PEQcheck considers the context of the code segments. For instance, only variables that are modified and live are required to be equivalent and read-only variables may be shared between original and refactored code segments. We show that PEQcheck is sound.Moreover, our evaluation testifies that the localized and context-aware checking performed by \peqcheck can indeed be beneficial.
More concrete, we use a combination that is one Marie-Christine Jakobs: Jury-member. ... B Marie-Christine Jakobs email@example.com 1 LMU Munich, Munich, Germany 2 Present Address: TU Darmstadt, Darmstadt, Germany specific instance of cooperative, verifier-based testing  . ...doi:10.1007/s10009-020-00572-1 fatcat:g3w2echfkvbwdcdd5dnu6375iq
« Previous Showing results 1 — 15 out of 3,528 results