Conference Paper

Predicting Reuse of End-User Web Macro Scripts

DOI: 10.1109/VLHCC.2009.5295290 Conference: IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2009, Corvallis, OR, USA, 20-24 September 2009, Proceedings
Source: DBLP

ABSTRACT Repositories of code written by end-user program- mers are beginning to emerge, but when a piece of code is new or nobody has yet reused it, then current repositories provide users with no information about whether that code might be appropriate for reuse. Ad- dressing this problem requires predicting reusability based on information that exists when a script is created. To provide such a model for web macro scripts, we identified script traits that might plausibly predict reuse, then used IBM CoScripter repository logs to statistically test how well each corresponded to reuse. We then built a machine learning model that combines the useful traits and evaluated how well it can predict four different types of reuse that we saw in the repository logs. Our model was able to predict reuse from a surprisingly small set of traits. It is simple enough to be explained in only 6-11 rules, making it potentially viable for integration in repository search engines for end-user programmers.

Download full-text


Available from: Margaret M Burnett, Sep 29, 2015
17 Reads
  • Source
    • "Still other systems are designed to emulate strategies or heuristics that users themselves appear to employ when looking for reusable code, thereby simplifying the task of choosing which existing programs to run or reuse (e.g. Gross et al., 2010; Scaffidi et al., 2009). "
    Interacting with Computers 01/2014; DOI:10.1093/iwc/iwu022 · 1.27 Impact Factor
  • Source
    • "As evidence that Scratch achieves this goal, at least two papers describe a collaboration between six children who work together to create an entire gallery of animations, each person contributing different skills aimed at implementing specific features such as sliding backgrounds [13][19]. Another piece of evidence cited in support of Scratch's success is that fact that one particular programmer once received over 100 comments on a specific project, and that she then organized a contest for other programmers to create extensions for her project [19]. "
    [Show abstract] [Hide abstract]
    ABSTRACT: Scratch is the latest iteration in a series of animation tools aimed at teaching programming skills. Scratch, in particular, aims not only to teach technical skills, but also skills related to collaboration and code reuse. In order to assess the strengths and weaknesses of Scratch relative to these goals, we have performed an empirical field study of Scratch animations and associated user comments from the online animation repository. Overall, we found that Scratch represents substantial progress toward its designers' goals, though we also identified several opportunities for significant improvement. In particular, many Scratch programs revealed significant technical mastery of the programming environment by programmers, and some animations even demonstrated design patterns. On the other hand, while the Scratch repository has successfully served as a supportive environment for generating constructive feedback among users, we did not find any occasions within our sample where this interaction led to online collaboration. In addition, we found low levels of code reuse, in terms of both frequency and success. Based on these results, we identify implications for improving the design of animation tools, for using these tools to teach programming skills, and for fostering successful collaboration and code reuse among end-user programmers.
    Proceedings of the International Symposium on Empirical Software Engineering and Measurement, ESEM 2010, 16-17 September 2010, Bolzano/Bozen, Italy; 01/2010
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: While end-user programmers sometimes combine, learn from, or otherwise reuse existing code to quickly create new programs, not all code is equally reusable. Some code is reused by its creator or by others, but other code simply languishes on servers and never provides any help in the creation of subsequent programs. In this paper, we draw on numerous empirical studies of end-user and professional programmers to show that the reusability of code can be inferred on the basis of "low-ceremony" evidence. This evidence is information that is often informal, possibly un-reliable, but that can be quickly gathered, interpreted and synthesized without the investment of substantial effort or skill by code producers or consumers. In the studies consid-ered here, it includes information about code's mass appeal, flexibility, understandability, functional size, authorship, and prior reuses. We summarize a simple machine learning model that has successfully predicted reuse of web macros based on this low-ceremony evidence.
Show more