Inference and Regeneration of 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 so...

Full description

Bibliographic Details
Main Authors: Rinard, Martin, Shen, Jiasi
Other Authors: Martin Rinard
Published: 2017
Online Access:http://hdl.handle.net/1721.1/108383
_version_ 1826211943747158016
author Rinard, Martin
Shen, Jiasi
author2 Martin Rinard
author_facet Martin Rinard
Rinard, Martin
Shen, Jiasi
author_sort Rinard, Martin
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 so ware 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 both (a) boilerplate code for the complex programming interfaces that the target computing platform presents and (b) systematic error and vulnerability checking code that makes the new implementations robust and secure. 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 so ware that executes on modern computing platforms.
first_indexed 2024-09-23T15:13:52Z
id mit-1721.1/108383
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T15:13:52Z
publishDate 2017
record_format dspace
spelling mit-1721.1/1083832019-04-10T14:41:12Z Inference and Regeneration of Programs that Store and Retrieve Data Rinard, Martin Shen, Jiasi Martin Rinard Program Analysis and Compilation 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 so ware 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 both (a) boilerplate code for the complex programming interfaces that the target computing platform presents and (b) systematic error and vulnerability checking code that makes the new implementations robust and secure. 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 so ware that executes on modern computing platforms. 2017-04-24T19:45:07Z 2017-04-24T19:45:07Z 2017-04-24 2017-04-24T19:45:07Z http://hdl.handle.net/1721.1/108383 MIT-CSAIL-TR-2017-006 22 p. application/pdf
spellingShingle Rinard, Martin
Shen, Jiasi
Inference and Regeneration of Programs that Store and Retrieve Data
title Inference and Regeneration of Programs that Store and Retrieve Data
title_full Inference and Regeneration of Programs that Store and Retrieve Data
title_fullStr Inference and Regeneration of Programs that Store and Retrieve Data
title_full_unstemmed Inference and Regeneration of Programs that Store and Retrieve Data
title_short Inference and Regeneration of Programs that Store and Retrieve Data
title_sort inference and regeneration of programs that store and retrieve data
url http://hdl.handle.net/1721.1/108383
work_keys_str_mv AT rinardmartin inferenceandregenerationofprogramsthatstoreandretrievedata
AT shenjiasi inferenceandregenerationofprogramsthatstoreandretrievedata