Refactoring Pipe-like Mashups for End-User Programmers

Kathryn T. Stolee and Sebastian Elbaum
University of Nebraska-Lincoln, USA

Mashups are becoming increasingly popular as end users are easily accessing, manipulating, and composing data from many web sources. We have observed, however, that mashups tend to suffer from deficiencies that propagate through reuse. To address these deficiencies, we aim to bring some of the benefits of software engineering techniques to end users programming mashups. Here, we identify code smells indicative of deficiencies we observed in mashups programmed in the popular Yahoo! Pipes environment, and observe that end users generally prefer pipes that lack smells. We introduce refactorings that target those smells, reduce the mashup complexity, increase their abstraction, update broken data sources and dated components, and standardize their structures according to community development patterns. We shows that smells exist in 81% of a large sample of mashups and that refactorings reduce that number to 16%, illustrating the potential of refactoring to support the thousands of end users developing mashups.