Verified Function Inlining Optimization fro the PureCake Compiler

dc.contributor.authorKorban, Kacper
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.departmentChalmers University of Technology / Department of Computer Science and Engineeringen
dc.contributor.examinerSheeran, Mary
dc.contributor.supervisorMyreen, Magnus
dc.date.accessioned2023-06-21T11:39:12Z
dc.date.available2023-06-21T11:39:12Z
dc.date.issued2023
dc.date.submitted2023
dc.description.abstractThis thesis describes the implementation and formal verification of an inlining optimization pass for the PureCake compiler. PureCake is a verified optimizing compiler for a pure, lazy, functional programming language. The optimization is implemented and verified using the HOL4 theorem prover. The correctness proof of inlining is defined at two levels of abstraction. The meta-theory level and the compiler level. The implementation is heuristic agnostic and can be used with any inlining strategy. The thesis also describes a function specialization transformation. This transformation is unverified, but steps are described on how the current inlining implementation and methodology can be used to verify it.
dc.identifier.urihttp://hdl.handle.net/20.500.12380/306357
dc.setspec.uppsokTechnology
dc.subjectFormal Methods
dc.subjectFunctional Programming
dc.subjectFormal Verification
dc.subjectProgramming Languages
dc.subjectCompilers
dc.titleVerified Function Inlining Optimization fro the PureCake Compiler
dc.type.degreeExamensarbete för masterexamensv
dc.type.degreeMaster's Thesisen
dc.type.uppsokH
local.programmeComputer science – algorithms, languages and logic (MPALG), MSc
Ladda ner
Original bundle
Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
KacperKorbanFinal.pdf
Storlek:
1.31 MB
Format:
Adobe Portable Document Format
Beskrivning:
License bundle
Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
2.35 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: