Utility and accuracy of smell-driven performance analysis for end-user programmers. (February 2015) - Chambers, Christopher; Scaffidi, Christopher
Abstract: This paper proposes a technique, called smell-driven performance analysis (SDPA), which automatically provides situated explanations within a visual dataflow language IDE to help end-user programmers to overcome performance problems without leaving the visual dataflow paradigm. An experiment showed SDPA increased end-user programmers' success rates at finding performance problems and decreased the time required for finding solutions. Another study, based on using SDPA to analyze a corpus of example end-user programs, revealed that it is usually accurate at identifying performance problems. Based on these results, we conclude that SDPA provides a reliable basis for helping end-user programmers to troubleshoot performance problems, as well as a potential foundation for future work aimed at training users and at aiding code reuse. Highlights: Smell-driven performance analysis (SDPA) finds dataflow performance problems. SDPA provides situated explanations within the visual dataflow language. We present an extended form of the technique that incorporates runtime profiling. In a user study, participants could more easily diagnose performance problems. A second study confirmed that profiling improves accuracy.