대구한의대학교 향산도서관

상세정보

부가기능

Optimizing the Automated Programming Stack

상세 프로파일

상세정보
자료유형학위논문
서명/저자사항Optimizing the Automated Programming Stack.
개인저자Bornholt, James.
단체저자명University of Washington. Computer Science and Engineering.
발행사항[S.l.]: University of Washington., 2019.
발행사항Ann Arbor: ProQuest Dissertations & Theses, 2019.
형태사항135 p.
기본자료 저록Dissertations Abstracts International 81-04B.
Dissertation Abstract International
ISBN9781687955111
학위논문주기Thesis (Ph.D.)--University of Washington, 2019.
일반주기 Source: Dissertations Abstracts International, Volume: 81-04, Section: B.
Advisor: Torlak, Emina
이용제한사항This item must not be sold to any third party vendors.This item must not be added to any third party search indexes.
요약The scale and pervasiveness of modern software poses a challenge forprogrammers: software reliability is more important than ever, but thecomplexity of computer systems continues to grow. Automated programmingtools are a powerful way for programmers to tackle this challenge:verifiers that check software correctness, and synthesizers thatgenerate new correct-by-construction programs. These tools are mosteffective when they apply domain-specific optimizations, but doing sotoday requires considerable formal methods expertise.This dissertation shows that new abstractions and techniques can empowerprogrammers to build specialized automated programming tools that ensuresoftware reliability. We first demonstrate the importance andeffectiveness of automated tools in the context of memory consistencymodels, which define the behavior of multiprocessor CPUs and whosesubtleties often elude even experts. MemSynth is a tool thatautomatically synthesizes formal descriptions of memory consistencymodels from examples of CPU behavior, and has found ambiguities andunderspecifications in two major computer architectures. We thenintroduce two new programmer techniques for developing automatedprogramming tools. Metasketches are a new abstraction for buildingprogram synthesis tools that integrate search strategy into the problemdefinition, allowing a metasketch solver to solve synthesis problemsthat other tools cannot. Symbolic profiling is a technique forsystematically identifying and resolving scalability bottlenecks inautomated programming tools. Symbolic profiling generalizes acrossdifferent symbolic evaluation engines and has been used to improve theperformance of state-of-the-art automated tools by orders of magnitude.Together, these three contributions demonstrate the value of automatedprogramming tools for building reliable software, and offer guidance onhow to build such tools efficiently for new problem domains.
일반주제명Computer science.
언어영어
바로가기URL : 이 자료의 원문은 한국교육학술정보원에서 제공합니다.

서평(리뷰)

  • 서평(리뷰)

태그

  • 태그

나의 태그

나의 태그 (0)

모든 이용자 태그

모든 이용자 태그 (0) 태그 목록형 보기 태그 구름형 보기
 
로그인폼