Failure-Directed Program Trimming (Extended Version)

نویسندگان

  • Kostas Ferles
  • Valentin Wüstholz
  • Maria Christakis
  • Isil Dillig
چکیده

This paper describes a new program simplification technique called program trimming that aims to improve the scalability and precision of safety checking tools. Given a program P, program trimming generates a new program P ′ such that P and P ′ are equi-safe (i.e., P ′ has a bug if and only if P has a bug), but P ′ has fewer execution paths than P. Since many program analyzers are sensitive to the number of execution paths, program trimming has the potential to improve the effectiveness of safety checking tools. In addition to introducing the concept of program trimming, this paper also presents a lightweight static analysis that can be used as a pre-processing step to remove program paths while retaining equi-safety. We have implemented the proposed technique in a tool called Trimmer and evaluate it in the context of two program analysis techniques, namely abstract interpretation and dynamic symbolic execution. Our experiments show that program trimming significantly improves the effectiveness of both techniques.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Cevat Ustun 2005

Title of dissertation: IMPROVING GENOME ASSEMBLY Cevat Ustun, Doctor of Philosophy, 2005 Dissertation directed by: Professor Jim Yorke and Brian Hunt Department of Physics and Math We present a reliable, easy to implement algorithm to generate a set of highly reliable overlaps based on identifying repeat k-mers. Our method is coverage independent. Whereas traditionally reads have been trimmed t...

متن کامل

The Hash History Approach for Reconciling Mutual Inconsistency

We introduce the hash history mechanism for capturing dependencies among distributed replicas. Hash histories, consisting of a directed graph of version hashes, are independent of the number of active nodes but dependent on the rate and number of modifications. We present the basic hash history scheme and discuss mechanisms for trimming the history over time. We simulate the efficacy of hash hi...

متن کامل

Fracture aspects of resin-dentin bonding in non-trimming microtensile test.

Comparative studies on resin-dentin bond strength and failure mode were performed between the conventional tensile test and the microtensile test with non-trimming small specimens, 1 x 1 mm in cross-section, for two brands of dentin bonding systems. The fracture surface of the conventional large specimen showed a catastrophic cohesive failure in dentin at its center and a lesser adhesive failur...

متن کامل

A Dynamic Programming Algorithm for Tree Trimming-based Text Summarization

Tree trimming is the problem of extracting an optimal subtree from an input tree, and sentence extraction and sentence compression methods can be formulated and solved as tree trimming problems. Previous approaches require integer linear programming (ILP) solvers to obtain exact solutions. The problem of this approach is that ILP solvers are black-boxes and have no theoretical guarantee as to t...

متن کامل

Negation as Failure in the Head

The class of logic programs with negation as failure in the head is a subset of the logic of MBNF introduced by Lifschitz and is an extension of the class of extended disjunctive programs. An interesting feature of such programs is that the minimality of answer sets does not hold. This paper considers the class of general extended disjunctive programs (GEDPs) as logic programs with negation as ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1706.04468  شماره 

صفحات  -

تاریخ انتشار 2017