Interactive Extraction of Examples from Existing Code
Programmers frequently learn from examples produced and shared by other programmers. However, it can be challenging and time-consuming to produce concise, working code examples. We conducted a formative study where 12 participants made examples based on their own code. This revealed a key hurdle: making meaningful simplifications without introducing errors. Based on this insight, we designed a mixed-initiative tool, CodeScoop, to help programmers extract executable, simplified code from existing code. CodeScoop enables programmers to “scoop” out a relevant subset of code. Techniques include selectively including control structures and recording an execution trace that allows authors to substitute literal values for code and variables. In a controlled study with 19 participants, CodeScoop helped programmers extract executable code examples with the intended behavior more easily than with a standard code editor.
Andrew studies computer science as a PhD candidate at UC Berkeley. He dreams of a future where rediscovery is a thing of the past, because people readily share the lessons they learn in their everyday life. He has built and studied software development tools with software engineering research teams at Google and Microsoft Research. His work appears at top academic conferences in software engineering and human-computer interaction including CHI and ICSE.
Mon 5 Nov
|15:30 - 15:55|
Andrew HeadUC Berkeley
|15:55 - 16:00|
Automatic Diagnosis and Correction of Logical Errors for Functional Programming Assignments - Preview
|16:00 - 16:05|
One Tool, Many Languages: Language-Parametric Transformation with Incremental Parametric Syntax - Preview
|16:05 - 16:10|
Live, Synchronized, and Mental Map Preserving Visualization for Data Structure Programming - Preview
|16:10 - 17:00|