DepthK is a software verification tool that employs a proof by induction algorithm that combines k-induction with invariant inference. In order to efficiently and effectively verify and falsify safety properties in C programs, DepthK infers program invariants using polyhedral constraints. Experimental results show that our approach can handle a wide variety of safety properties in several intricate verification tasks.
Map2Check is a software verification tool that combines fuzzing, symbolic execution, and inductive invariants. It automatically checks safety properties in C programs by adopting source code instrumentation to monitor data (e.g., memory pointers) from the program’s executions using LLVM compiler infrastructure. For SV-COMP 2020, we extended Map2Check to exploit an iterative deepening approach using LibFuzzer and Klee to check for safety properties. We also use Crab-LLVM to infer program invariants based on reachability analysis. Experimental results show that Map2Check can handle a wide variety of safety properties in several intricate verification tasks from SV-COMP 2020.
Abstract. Map2Check is a bug hunting tool that automatically checks safety properties in C programs. It tracks memory pointers and variable assignments to check user-specified assertions, overflow, and pointer safety. Here, we extend Map2Check to: (i) simplify the program using Clang/LLVM; (ii) perform a path-based symbolic execution using the KLEE tool; and (iii) transform and instrument the code using the LLVM dynamic information flow. The SVCOMP'18 results show that Map2Check can be effective in generating and checking test cases related to memory management of C programs.
OverviewMap2Check v7.1 uses source code instrumentation based on dynamic information flow, to monitor data from different program executions. Map2Check automatically produces concrete inputs to the program via symbolic execution, in order to execute different program paths and to detect failures related to arithmetic overflow, invalid deallocation, invalid pointers, and memory leaks. Map2Check uses Clang [5] as a front-end, which supports the main C standard, e.g., C99 according to the standard ISO/IEC 9899:1990. In its previous version [7], Map2Check was able to automatically generate test cases to check memory management using bounded model checkers (e.g., ESBMC
Verification ApproachThe Map2Check tool is inspired by LEAKPOINT [3] and Symbiotic 4 [2], which use compiler techniques to analyze C programs using code instrumentation. The H. Rocha-Jury member.
We present a proof by induction algorithm, which combines k-induction with invariants to model check embedded C software with bounded and unbounded loops. The k-induction algorithm consists of three cases: in the base case, we aim to find a counterexample with up to k loop unwindings; in the forward condition, we check whether loops have been fully unrolled and that the safety property φ holds in all states reachable within k unwindings; and in the inductive step, we check that whenever φ holds for k unwindings, it also holds after the next unwinding of the system. For each step of the k-induction algorithm, we infer invariants using affine constraints (i.e., polyhedral) to specify preand post-conditions. Experimental results show that our approach can handle a wide variety of safety properties in typical embedded software applications from telecommunications, control systems, and medical devices; we demonstrate an improvement of the induction algorithm effectiveness if compared to other approaches.
Abstract:The study of alcohol abuse is relatively new in Brazil. Government estimates suggest that 11.2% of the Brazilian population is alcohol dependent. Problems associated with alcohol dependence include domestic violence, increased risk of traffic accidents, poor self-esteem and weak academic performance. A factor known to correlate with alcohol abuse in 12-17 year olds is to have the money necessary to purchase alcoholic beverages. No data is available, however, on the price of alcoholic beverages. The objective of the present study was to provide data on price and to compare the price of alcoholic beverages to basic food items in the Brazilian diet. We also had interest in studying a population in the northeast region of Brazil. This region is the poorest in Brazil, has the highest percentage of alcohol dependency and is seldom the focus of research on dependency. We report that the prices of many alcoholic beverages are less than the price of basic food items. Prices of alcoholic beverages including beer, wine and spirits were compared to the prices of select food items as represented in the Food Pyramid. Food items were selected from the categories of Grain, Dairy, Fruit, Meat and Vegetable. Data was gathered from 32 supermarkets in 8 cities in the northeast state of Paraiba. The price of alcohol is generally less expensive than most basic food group items, especially brands of cachaça (a spirit distilled from sugar cane) and beer. Data on price should be considered in any alcohol dependency program in Brazil.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.