Show simple item record

dc.contributor.advisorTavares, Zenna
dc.contributor.advisorSolar-Lezama, Armando
dc.contributor.authorMorejon, David
dc.date.accessioned2022-01-14T14:41:38Z
dc.date.available2022-01-14T14:41:38Z
dc.date.issued2021-06
dc.date.submitted2021-06-17T20:13:52.482Z
dc.identifier.urihttps://hdl.handle.net/1721.1/138965
dc.description.abstractProgrammers and mathematicians often find themselves in situations where they must solve an inverse problem for a particular function. Solving an inverse problem generally means determining the input that produced a given output. However, this is ambiguous for most functions since the function may have multiple inputs that produce an output. Parametric inversion takes a new approach to solving inverse problems by proposing a method to make a non-injective (many-to-one) function invertible through a parameter. This parameter is used to distinguish between elements in the input space of a function that produced a given output. The existing parametric inversion theory primarily describes inverting mathematical functions. This work extends the theory to encompass inversion of programs. Specifically, we introduce a language, IR, and address problems related to inversion of a simple code block, control flow, and re-use of variables. This includes a practical implementation in Julia that is able to correctly invert a suite of sample programs.
dc.publisherMassachusetts Institute of Technology
dc.rightsIn Copyright - Educational Use Permitted
dc.rightsCopyright MIT
dc.rights.urihttp://rightsstatements.org/page/InC-EDU/1.0/
dc.titleParametric Inversion of Programs
dc.typeThesis
dc.description.degreeM.Eng.
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
mit.thesis.degreeMaster
thesis.degree.nameMaster of Engineering in Electrical Engineering and Computer Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record