Computer Aided Programming, the Next Frontier

258
Следующее
17.08.16 – 241:06:44
Social Networks and Success
Популярные
Опубликовано 17 августа 2016, 21:07
This talk describes some of the ongoing work in the Computer Aided Programming group at MIT. The goal of our research group is to develop programming aids that achieve a synergy between the programmer and the machine, allowing programmers to apply their insight and creativity, but relieving them from the more mundane aspects of programming. This talk will describe our recent efforts to develop computer aided programming tools to address three important programming problems: implementing complex algorithms, programming with rich frameworks, and making programs robust. The first part of the talk will describe our recent work on 'Storyboard Programming', a new form of synthesis that allows programmers to describe their insight about a complex data structure manipulation in the form of a storyboard. The storyboard is an abstract graphical description of the evolution of the data structure through the manipulation. From this storyboard, our synthesizer derives an abstraction that it then uses to produce a correct implementation. The second part of the talk will describe our recent efforts to use data driven program analysis to tackle the challenges of adding functionality to very large applications. These applications pose a challenge for programming tools because of their extreme scale, but by collecting large amounts of program behavior data, we can make up for the shortcomings of static analysis and help the programmer understand such large applications. Finally, the third part will describe our recent work on declarative program hardening and its application to data processing applications. Declarative program hardening allows programmers to focus on the common case behavior of their programs, while separately asserting facts that the program can use to cope with exceptional situations. In the context of data processing, this technique allows programmers to cope with missing or corrupted data in a clean and robust way.
автотехномузыкадетское