Sun 20 Oct 2024 12:00 - 12:30 at Pacific A - Papers 1 Chair(s): Will Crichton

Library learning is the process of building a library of common functionalities from a given set of programs. Typically, this process is applied in the context of aiding program synthesis: concise functions can help the synthesizer produce modularized code that is smaller in size. With AI tools being better at synthesizing programs in general purpose languages than in domain specific ones, most program synthesis work focus on Domain Specific languages (DSLs). Consequently, most library extraction tools are designed to abstract over simple DSLs written in a lisp-like syntax that often have repetitive behaviour.

Our work introduces Leroy, which extends existing library learning techniques to higher level programming imperative languages, with the goal of facilitating reusability and ease of maintenance. Leroy wraps the existing Stitch framework for library learning, and converts imperative programs into a lisp-like format using the AST. Our solution uses Stitch to do a top-down, corpus guided extraction of repetitive expressions. Further, we prune abstractions which cannot be implemented in the programming language and convert the best abstractions back to the original language. We implement our technique in a tool for a subset of the Python programming language, and evaluate it on a large corpora of programs. Leroy achieves a compression ratio of 1.04x. Additionally, we show that our technique prunes invalid abstractions.

Sun 20 Oct

Displayed time zone: Pacific Time (US & Canada) change

11:00 - 12:30
Papers 1HATRA at Pacific A
Chair(s): Will Crichton Brown University
11:00
30m
Talk
Don’t Call Us, We’ll Call You
HATRA
Jan Liam Verter Faculty of Mathematics and Physics, Charles University, Tomas Petricek Charles University
Link to publication
11:30
30m
Talk
Learner-Centered Design Criteria for Classroom Proof Assistants
HATRA
Matthew Keenan University of Michigan, Cyrus Omar University of Michigan
Link to publication
12:00
30m
Talk
Leroy: Library Learning for Imperative Programming Languages
HATRA
Abhiram Bellur University of Colorado Boulder, Razan Alghamdi University of Colorado, Boulder, Kidus Workneh University of Colorado, Boulder, Joe Izraelevitz University of Colorodo Boulder
Link to publication