COMING SOON! PQDT Open is getting a new home!

ProQuest Open Access Dissertations & Theses will remain freely available as part of a new and enhanced search experience at

Questions? Please refer to this FAQ.

Dissertation/Thesis Abstract

Interactive Program Distillation
by Head, Andrew, Ph.D., University of California, Berkeley, 2020, 176; 27961791
Abstract (Summary)

From snippets to tutorials, programmers rely on sample programs to learn and get work done. The process of creating sample programs, however, can be demanding, limiting the dissemination of programming knowledge. To enhance this process, we introduce the concept of program distillation, methods for its implementation, and usability studies verifying its power. Program distillation is the tool-assisted transformation of existing programs into simpler ones, where key ideas are emphasized, and cruft has been removed.

Three interactive tools are introduced for distilling code snippets, notebooks, and tutorials. Each tool contributes novel interactions grounded in proven program analysis techniques. CodeScoop helps programmers extract snippets from existing code through interactive program slicing and simplification. Code gathering tools let a programmer extract subsets of cells from a computational notebook that reproduce key results. And Torii provides a live programming experience for creating output-rich multi-step tutorials. Studies with users reveal that these tools satisfy important needs, support efficient sample program creation, and provide a level of expressiveness not yet available in today’s standard tools.

Indexing (document details)
Advisor: Hartmann, Björn, Hearst, Marti A.
Commitee: Sen, Koushik, Blumenstock, Joshua E.
School: University of California, Berkeley
Department: Computer Science
School Location: United States -- California
Source: DAI-A 82/8(E), Dissertation Abstracts International
Subjects: Computer science, Information Technology, Technical Communication, Computer Engineering, Management
Keywords: Computational notebooks, Human-computer interaction, Literate programming, Programming tools, Sample programs, Software engineering, Code gathering tools
Publication Number: 27961791
ISBN: 9798569981472
Copyright © 2021 ProQuest LLC. All rights reserved. Terms and Conditions Privacy Policy Cookie Policy