Graduation Semester and Year
2018
Language
English
Document Type
Thesis
Degree Name
Master of Science in Computer Science
Department
Computer Science and Engineering
First Advisor
Christoph Csallner
Abstract
Currently, JavaScript is one of the mostly used programming languages for Web and Mobile platforms. This brings a large demand for optimization and smarter resource allocation of the applications written in JavaScript. Partial evaluation is a program transformation technique which rewrites a program by evaluating it with respect to its known variables. Recently, Facebook proposed Prepack: A partial evaluator for JavaScript which will make original program shorter and faster by performing both concrete and symbolic evaluation (concolic evaluation). Although it is proposed as a planned improvement, symbolic evaluation engine currently does not implement an SMT solver. In this work, a JavaScript symbolic partial evaluator (JSSpe) is designed using Babel plugin and it is connected to the Microsoft-Z3 SMT solver to investigate its contribution to its performance. Several test scenarios are experimented in order to show the performance enhancements through using an SMT solver in partial evaluator design.
Keywords
Partial evaluation, Symbolic execution, SMT solver
Disciplines
Computer Sciences | Physical Sciences and Mathematics
License
This work is licensed under a Creative Commons Attribution-NonCommercial-Share Alike 4.0 International License.
Recommended Citation
Suslu, Sumeyye, "JSSpe: A Symbolic Partial Evaluator for JavaScript" (2018). Computer Science and Engineering Theses. 485.
https://mavmatrix.uta.edu/cse_theses/485
Comments
Degree granted by The University of Texas at Arlington