PRECIS: Inferring invariants using program path guided clustering

Parth Sagdeo, Viraj Athavale, Sumant Kowshik, Shobha Vasudevan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We propose PRECIS, a methodology for automatically generating invariants at function and loop boundaries through program path guided clustering. We instrument function inputs and outputs together with predicates for branch conditions and record their values during each execution. Program runs that share the same path are grouped together based on predicate words. For each group with sufficient data we use linear regression to express the output as a function of the inputs. Groups with insufficient data are examined as candidates for clustering with neighboring groups. Candidates that share the same output function are merged into a cluster. For each cluster, we write an invariant that summarizes the behavior of the corresponding set of paths. We evaluate our technique using Siemens benchmarks. When compared to Daikon, we find that our method has significant advantages.

Original languageEnglish (US)
Title of host publication2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, Proceedings
Pages532-535
Number of pages4
DOIs
StatePublished - 2011
Event2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011 - Lawrence, KS, United States
Duration: Nov 6 2011Nov 10 2011

Publication series

Name2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, Proceedings

Other

Other2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011
Country/TerritoryUnited States
CityLawrence, KS
Period11/6/1111/10/11

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'PRECIS: Inferring invariants using program path guided clustering'. Together they form a unique fingerprint.

Cite this