Mining Precise Performance-Aware Behavioral Models from Existing Instrumentation
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{http://dx.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.},
}