Title: Data Structure Synthesis
Advisor: Michael Ernst
Supervisory Committee: Michael Ernst (Chair), Jose Kutz (GSR, Applied Math), Emina Torlak, and Alvin Cheung
Abstract: Having the right data structures can greatly reduce---or entirely eliminate---the effort required to accomplish many programming tasks. The simple data structures found in standard libraries can ease some programming tasks, but they fall woefully short when more complicated data structures are needed. Our existing work has already shown that for some domains, the implementation of complex data structures can be enirely automated given a specification of the structure's desired behavior. Such automation has enormous potential benefit to improve the correctness and efficiency of software while saving developer effort. This talk will examine several previous approaches to the problem and related lines of research, summarizes our existing techniques and findings, and proposes future research directions. In particular, we seek to generalize and extend our existing techniques to handle a much wider class of data structures and thoroughly evaluate the extent to which an automatic data structure synthesizer can affect the development of quality software.