Impact and utility of smell-driven performance tuning for end-user programmers. (June 2015) - Chambers, Christopher; Scaffidi, Christopher
Abstract: This paper proposes a technique, called Smell-driven performance tuning (SDPT), which semi-automatically assists end-user programmers with fixing performance problems in visual dataflow programming languages. A within-subjects laboratory experiment showed SDPT increased end-user programmers' success rate and decreased the time they required. Another study, based on using SDPT to analyze a corpus of example end-user programs, demonstrated that applying all available SDPT transformations achieved an execution time improvement of 42% and a memory usage improvement of 20%, comparable to improvements that expert programmers historically had manually achieved on the same programs. These results indicate that SDPT is an effective method for helping end-user programmers to fix performance problems. Highlights: Smell-driven performance tuning (SDPT) helps programmers improve code performance. SDPT is targeted at end-user programmers working with dataflow languages. SDPT restructures programs' code based on the programmer's guidance. Empirical tests confirmed that SDPT substantially improves performance. In a user study, end-user programmers could more easily fix performance problems.