Program Synthesis for Systems Developers- [electronic resource]
Program Synthesis for Systems Developers- [electronic resource]
- 자료유형
- 학위논문파일 국외
- 최종처리일시
- 20240214101233
- ISBN
- 9798379905941
- DDC
- 004
- 서명/저자
- Program Synthesis for Systems Developers - [electronic resource]
- 발행사항
- [S.l.]: : University of Washington., 2023
- 발행사항
- Ann Arbor : : ProQuest Dissertations & Theses,, 2023
- 형태사항
- 1 online resource(101 p.)
- 주기사항
- Source: Dissertations Abstracts International, Volume: 85-01, Section: B.
- 주기사항
- Advisor: Torlak, Emina.
- 학위논문주기
- Thesis (Ph.D.)--University of Washington, 2023.
- 사용제한주기
- This item must not be sold to any third party vendors.
- 초록/해제
- 요약Implementing and verifying the correctness of systems software poses a difficult challenge for developers. Systems software operates across multiple levels of abstraction, requiring developers to reason about the interactions between these abstraction layers. At the same time, ensuring correctness of these systems is now more important than ever. Linux kernel vulnerabilities can allow malicious users to gain root access in critical systems, and incorrectly implemented cloud storage systems can harm data availability for millions of users.This dissertation presents two novel program synthesis tools that automate the implementation and verification of two classes of systems: in-kernel just-in-time (JIT) compilers and crash consistent storage systems. The first of these tools, JITSYNTH, allows kernel developers to automatically generate correct in-kernel JIT compilers by giving a specification of the source and target language. These JITs translate user-submitted programs to lower-level assembly code for kernel execution. Manually implementing (and proving correctness of) these JITs poses a difficult challenge for developers due to subtle differences in the semantics of the source and target languages. By synthesizing JITs automatically, JITSYNTH allows developers to avoid kernel-breaking bugs without the massive effort of implementing and verifying a new compiler for each target architecture. The second tool presented, DEPSYNTH, enables storage system developers to automatically add crash consistency mechanisms to their systems. Designing crash consistent systems is difficult for developers because it requires reasoning about complex constraints on the orderings of storage system writes. DEPSYNTH allows developers to reap the data availability and resiliency benefits of crash consistency without the overhead of manually reasoning about these orderings. Together, these tools demonstrate the effectiveness of program synthesis for developing systems software.
- 일반주제명
- Computer science.
- 일반주제명
- Computer engineering.
- 키워드
- Compilers
- 키워드
- Storage systems
- 키워드
- Malicious users
- 키워드
- Designing crash
- 기타저자
- University of Washington Computer Science and Engineering
- 기본자료저록
- Dissertations Abstracts International. 85-01B.
- 기본자료저록
- Dissertation Abstract International
- 전자적 위치 및 접속
- 로그인 후 원문을 볼 수 있습니다.