Visually Reasoning about System and Resource Behavior"/> Visually Reasoning about System and Resource Behavior"/>
As devices proliferate and software is ported to new platforms, developers must reconstruct how their software utilizes resources, such as network bandwidth and memory. Existing software comprehension approaches rarely consider how resource utilization affects system behavior. We present Perfume, a general-purpose tool to help developers understand how resource utilization impacts their systems' control flow. Perfume is broadly applicable, as it is configurable to parse a wide variety of execution log formats and applies to all resource types that can be represented numerically. Perfume mines temporal properties that hold over the logged executions and represents system behavior in a resource finite state automaton that satisfies the mined properties. Perfume's interactive interface allows the developer to understand system behavior and formulate and test hypotheses about system executions. A controlled experiment with 40 students shows that Perfume effectively supports understanding and debugging tasks. Students using Perfume answered 8.3% more questions correctly than those using execution logs alone and did so 15.5% more quickly. Perfume is open source and deployed at http://perfume.cs.umass.edu/.
@inproceedings{Ohmann16tool-demo-icse,
author = {Tony Ohmann and Ryan Stanley and Ivan Beschastnikh and Yuriy Brun},
title =
{Visually Reasoning about System and Resource Behavior},
booktitle = {Proceedings of the Demonstrations Track of the 38th
International Conference on Software Engineering (ICSE Demo)},
venue = {ICSE Demo},
address = {Austin, TX, USA},
month = {May},
date = {18--20},
year = {2016},
pages = {601--604},
doi = {10.1145/2889160.2889166},
note = {DOI: 10.1145/2889160.2889166},
accept = {$\frac{18}{56} \approx 32\%$},
abstract = {As devices proliferate and software is ported to new
platforms, developers must reconstruct how their software utilizes
resources, such as network bandwidth and memory. Existing software
comprehension approaches rarely consider how resource utilization affects
system behavior. We present Perfume, a general-purpose tool to help
developers understand how resource utilization impacts their systems'
control flow. Perfume is broadly applicable, as it is configurable to parse
a wide variety of execution log formats and applies to all resource types
that can be represented numerically. Perfume mines temporal properties that
hold over the logged executions and represents system behavior in a
resource finite state automaton that satisfies the mined properties.
Perfume's interactive interface allows the developer to understand system
behavior and formulate and test hypotheses about system executions. A
controlled experiment with 40 students shows that Perfume effectively
supports understanding and debugging tasks. Students using Perfume answered
8.3% more questions correctly than those using execution logs alone and did
so 15.5% more quickly. Perfume is open source and deployed at
http://perfume.cs.umass.edu/.},
fundedBy = {NSF CCF-1453474, NSF CNS-1513055,
Google Inc. via the Faculty Research Award, NSERC, OPC},
}