본문

서브메뉴

Metaprogramming Program Analyzers- [electronic resource]
Metaprogramming Program Analyzers - [electronic resource]
Contents Info
Metaprogramming Program Analyzers- [electronic resource]
Material Type  
 학위논문
 
0016935240
Date and Time of Latest Transaction  
20240214101909
ISBN  
9798380722575
DDC  
005
Author  
Wei, Guannan.
Title/Author  
Metaprogramming Program Analyzers - [electronic resource]
Publish Info  
[S.l.] : Purdue University., 2023
Publish Info  
Ann Arbor : ProQuest Dissertations & Theses, 2023
Material Info  
1 online resource(307 p.)
General Note  
Source: Dissertations Abstracts International, Volume: 85-05, Section: A.
General Note  
Advisor: Rompf, Tiark.
학위논문주기  
Thesis (Ph.D.)--Purdue University, 2023.
Restrictions on Access Note  
This item must not be sold to any third party vendors.
Abstracts/Etc  
요약Static program analyzers are vital tools to produce useful insights about programs without executing these programs. These insights can be used to improve the quality of programs, e.g., detecting defects in programs, or optimizing programs to use fewer resources. However, building static program analyzers that are simultaneously sound, performant, and flexible is notoriously challenging.This dissertation aims to address this challenge by exploring the potential of applying correct-by-construction metaprogramming techniques to build static program analyzers. Metaprogramming techniques manipulate and transform programs as data objects. In this thesis, we consider static program analyzers as the objects to be manipulated or transformed. We show that metaprogramming techniques can improve our understanding, the construction, flexibility, and performance of program analyzers.We first study the inter-derivation of abstract interpreters. Using off-the-shelf program transformation techniques such as refunctionalization, we demonstrate that big-step abstract interpreters can be mechanically derived from their small-step counterparts, thus building a functional correspondence between two different styles of abstract interpretation.To build high-performance program analyzers, we exploit the first Futamura projection to build compilers for abstract interpretation and symbolic execution. The first Futamura projection states that specializing an interpreter with respect to an input program is a process equivalent to compilation, thus providing a practical way to repurpose interpreters for compilation and code generation. We systematically apply this idea to build programanalysis compilers by writing analyzers as staged interpreters using higher-level abstractions. The staged interpreter can be used for generating sound and performant analysis code given a specific input program. Moreover, the approach enables using abstractions without regret: by using higher-level program abstractions, the analyzer can be written in a way that is close to its high-level specification (e.g. big-step operational semantics), and by compilation, the analyzer is performant since it does not need to pay the runtime overhead of using these abstraction mechanisms.We also develop novel type systems that track sharing and separation in higher-order imperative languages. Such type systems are useful both for general-purpose programming languages and for optimization of domain-specific metaprograms such as those programanalysis compilers.
Subject Added Entry-Topical Term  
Programming languages.
Subject Added Entry-Topical Term  
Algebra.
Subject Added Entry-Topical Term  
Performance evaluation.
Subject Added Entry-Topical Term  
Interpreters.
Subject Added Entry-Topical Term  
Semantics.
Subject Added Entry-Topical Term  
Computer science.
Subject Added Entry-Topical Term  
Logic.
Subject Added Entry-Topical Term  
Translation studies.
Added Entry-Corporate Name  
Purdue University.
Host Item Entry  
Dissertations Abstracts International. 85-05A.
Host Item Entry  
Dissertation Abstract International
Electronic Location and Access  
로그인을 한후 보실 수 있는 자료입니다.
소장사항  
202402 2024
Control Number  
joongbu:639088
New Books MORE
최근 3년간 통계입니다.

Detail Info.

  • Reservation
  • 캠퍼스간 도서대출
  • 서가에 없는 책 신고
  • My Folder
Material
Reg No. Call No. Location Status Lend Info
TQ0025015 T   원문자료 열람가능/출력가능 열람가능/출력가능
마이폴더 부재도서신고

* Reservations are available in the borrowing book. To make reservations, Please click the reservation button

해당 도서를 다른 이용자가 함께 대출한 도서

Related books

Related Popular Books

도서위치