Using traits of web macro scripts to predict reuse

  • Authors:
  • Chris Scaffidi;Chris Bogart;Margaret Burnett;Allen Cypher;Brad Myers;Mary Shaw

  • Affiliations:
  • School of Electrical Engineering and Computer Science, Oregon State University, 1148 Kelley Engineering Center, Oregon State University, Corvallis, OR 97331-4501, USA;School of Electrical Engineering and Computer Science, Oregon State University, 1148 Kelley Engineering Center, Oregon State University, Corvallis, OR 97331-4501, USA;School of Electrical Engineering and Computer Science, Oregon State University, 1148 Kelley Engineering Center, Oregon State University, Corvallis, OR 97331-4501, USA;IBM Research-Almaden, USA;Carnegie Mellon University, USA;Carnegie Mellon University, USA

  • Venue:
  • Journal of Visual Languages and Computing
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

To help people find a code that they might want to reuse, repositories of end-user code typically sort scripts by number of downloads, ratings, or other information based on prior uses of the code. However, this information is unavailable when the code is new or when it has not yet been reused. Addressing this problem requires identifying reusable code based solely 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 actual reuse. These tests confirmed that the traits generally did correspond to higher levels of reuse as anticipated. We then developed a machine learning model that uses these traits as features to predict reuse of macros. Evaluating this model on repository logs showed that its accuracy is comparable to that of existing machine learning models for predicting reuse-but with a much simpler structure. Sensitivity analysis revealed that our model is quite robust; its quality is greatly reduced only when parameters are set to such extreme values that the model becomes inordinately selective. Testing the model with individual traits revealed those that provided the best predictions on their own. Based on these results, we outline opportunities for using our model to improve repositories of end-user code.