Active learning for inference and regeneration of computer programs that store and retrieve data

As modern computation platforms become increasingly complex, their programming interfaces are increasingly difficult to use. This complexity is especially inappropriate given the relatively simple core functionality that many of the computations implement. We present a new approach for obtaining sof...

Full description

Bibliographic Details
Main Authors: Rinard, Martin C, Shen, Jiasi, Mangalick, Varun
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: ACM Press 2020
Online Access:https://hdl.handle.net/1721.1/125749
_version_ 1826188949839675392
author Rinard, Martin C
Shen, Jiasi
Mangalick, Varun
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Rinard, Martin C
Shen, Jiasi
Mangalick, Varun
author_sort Rinard, Martin C
collection MIT
description As modern computation platforms become increasingly complex, their programming interfaces are increasingly difficult to use. This complexity is especially inappropriate given the relatively simple core functionality that many of the computations implement. We present a new approach for obtaining software that executes on modern computing platforms with complex programming interfaces. Our approach starts with a simple seed program, written in the language of the developer's choice, that implements the desired core functionality. It then systematically generates inputs and observes the resulting outputs to learn the core functionality. It finally automatically regenerates new code that implements the learned core functionality on the target computing platform. This regenerated code contains boilerplate code for the complex programming interfaces that the target computing platform presents. By providing a productive new mechanism for capturing and encapsulating knowledge about how to use modern complex interfaces, this new approach promises to greatly reduce the developer effort required to obtain secure, robust software that executes on modern computing platforms.
first_indexed 2024-09-23T08:07:11Z
format Article
id mit-1721.1/125749
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T08:07:11Z
publishDate 2020
publisher ACM Press
record_format dspace
spelling mit-1721.1/1257492022-09-23T11:01:39Z Active learning for inference and regeneration of computer programs that store and retrieve data Rinard, Martin C Shen, Jiasi Mangalick, Varun Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science As modern computation platforms become increasingly complex, their programming interfaces are increasingly difficult to use. This complexity is especially inappropriate given the relatively simple core functionality that many of the computations implement. We present a new approach for obtaining software that executes on modern computing platforms with complex programming interfaces. Our approach starts with a simple seed program, written in the language of the developer's choice, that implements the desired core functionality. It then systematically generates inputs and observes the resulting outputs to learn the core functionality. It finally automatically regenerates new code that implements the learned core functionality on the target computing platform. This regenerated code contains boilerplate code for the complex programming interfaces that the target computing platform presents. By providing a productive new mechanism for capturing and encapsulating knowledge about how to use modern complex interfaces, this new approach promises to greatly reduce the developer effort required to obtain secure, robust software that executes on modern computing platforms. DARPA (Grant FA8650-15-C-7564) 2020-06-09T20:07:25Z 2020-06-09T20:07:25Z 2018-10 2019-07-02T16:31:33Z Article http://purl.org/eprint/type/ConferencePaper 9781450360319 https://hdl.handle.net/1721.1/125749 Rinard, Martin C., Jiasi Shen, and Varun Mangalick. "Active learning for inference and regeneration of computer programs that store and retrieve data." ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, October 2018, Boston, MA, USA (ACM), 2018. en http://dx.doi.org/10.1145/3276954.3276959 Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf ACM Press MIT web domain
spellingShingle Rinard, Martin C
Shen, Jiasi
Mangalick, Varun
Active learning for inference and regeneration of computer programs that store and retrieve data
title Active learning for inference and regeneration of computer programs that store and retrieve data
title_full Active learning for inference and regeneration of computer programs that store and retrieve data
title_fullStr Active learning for inference and regeneration of computer programs that store and retrieve data
title_full_unstemmed Active learning for inference and regeneration of computer programs that store and retrieve data
title_short Active learning for inference and regeneration of computer programs that store and retrieve data
title_sort active learning for inference and regeneration of computer programs that store and retrieve data
url https://hdl.handle.net/1721.1/125749
work_keys_str_mv AT rinardmartinc activelearningforinferenceandregenerationofcomputerprogramsthatstoreandretrievedata
AT shenjiasi activelearningforinferenceandregenerationofcomputerprogramsthatstoreandretrievedata
AT mangalickvarun activelearningforinferenceandregenerationofcomputerprogramsthatstoreandretrievedata