When | What |
---|---|
October 31st, 2015 | Donated by Junaid Maqsood |
Studies who have been using the data (in any form) are required to include the following reference:
@inproceedings{Mangal:2015:UAP:2786805.2786851,
author = {Mangal, Ravi and Zhang, Xin and Nori, Aditya V. and Naik, Mayur},
title = {A User-guided Approach to Program Analysis},
booktitle = {Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering},
series = {ESEC/FSE 2015},
year = {2015},
isbn = {978-1-4503-3675-8},
location = {Bergamo, Italy},
pages = {462--473},
numpages = {12},
url = {http://doi.acm.org/10.1145/2786805.2786851},
doi = {10.1145/2786805.2786851},
acmid = {2786851},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {User feedback, program analysis, report classification},
}
Source code for multiple projects. Used as a benchmark study for testing an algorithm. has almost 130 KLOC
Program analysis tools often produce undesirable output due to various approximations. We present an approach and a system EUGENE that allows user feedback to guide such approximations towards producing the desired output. We formulate the problem of user-guided program analysis in terms of solving a combination of hard rules and soft rules: hard rules capture soundness while soft rules capture degrees of approximations and preferences of users. Our technique solves the rules using an off-the-shelf solver in a manner that is sound (satisfies all hard rules), optimal (maximally satisfies soft rules), and scales to real-world analyses and programs. We evaluate EUGENE on two different analyses with labeled output on a suite of seven Java programs of size 131–198 KLOC. We also report upon a user study involving nine users who employ EUGENE to guide an information-flow analysis on three Java micro-benchmarks. In our experiments, EUGENE significantly reduces misclassified reports upon providing limited amounts of feedback.