by Tony Ohmann, Kevin Thai, Ivan Beschastnikh, Yuriy Brun
Abstract:
Software bugs often arise from differences between what developers envision their system does and what that system actually does. When faced with such conceptual inconsistencies, debugging can be very difficult. Inferring and presenting developers with accurate behavioral models of the system implementation can help developers reconcile their view of the system with reality and improve system quality. We present Perfume, a model-inference algorithm that improves on the state of the art by using performance information to differentiate otherwise similar-appearing executions and to remove false positives from the inferred models. Perfume uses a system's runtime execution logs to infer a concise, precise, and predictive finite state machine model that describes both observed executions and executions that have not been observed but that the system can likely generate. Perfume guides the model inference process by mining temporal performance-constrained properties from the logs, ensuring precision of the model's predictions. We describe the model inference process and demonstrate how it improves precision over the state of the art.
Citation:
Tony Ohmann, Kevin Thai, Ivan Beschastnikh, and Yuriy Brun, Mining Precise Performance-Aware Behavioral Models from Existing Instrumentation, in Proceedings of the New Ideas and Emerging Results Track at the International Conference on Software Engineering (ICSE), 2014, pp. 484–487.
Bibtex:
@inproceedings{Ohmann14icse-nier,
author = {Tony Ohmann and Kevin Thai and Ivan Beschastnikh and Yuriy Brun},
title =
{\href{http://people.cs.umass.edu/brun/pubs/pubs/Ohmann14icse-nier.pdf}{Mining
Precise Performance-Aware Behavioral Models from Existing
Instrumentation}},
booktitle = {Proceedings of the New Ideas and Emerging Results Track
at the International Conference on Software Engineering (ICSE)},
venue = {ICSE NIER},
address = {Hyderabad, India},
month = {June},
date = {4--6},
year = {2014},
pages = {484--487},
accept = {$\frac{35}{146} \approx 24\%$},
doi = {10.1145/2591062.2591107},
note = {\href{https://doi.org/10.1145/2591062.2591107}{DOI: 10.1145/2591062.2591107}},
abstract = {Software bugs often arise from differences between what
developers envision their system does and what that system actually
does. When faced with such conceptual inconsistencies, debugging can
be very difficult. Inferring and presenting developers with accurate
behavioral models of the system implementation can help developers
reconcile their view of the system with reality and improve system
quality.
We present Perfume, a model-inference algorithm that improves on the
state of the art by using performance information to differentiate
otherwise similar-appearing executions and to remove false positives
from the inferred models. Perfume uses a system's runtime execution
logs to infer a concise, precise, and predictive finite state
machine model that describes both observed executions and executions
that have not been observed but that the system can likely generate.
Perfume guides the model inference process by mining temporal
performance-constrained properties from the logs, ensuring precision
of the model's predictions. We describe the model inference process
and demonstrate how it improves precision over the state of the
art.},
}