서브메뉴
검색
Exploratory Phenomena in Program Synthesis
Exploratory Phenomena in Program Synthesis
상세정보
- 자료유형
- 학위논문 서양
- 최종처리일시
- 20250211150959
- ISBN
- 9798382302522
- DDC
- 004
- 서명/저자
- Exploratory Phenomena in Program Synthesis
- 발행사항
- [Sl] : University of California, San Diego, 2024
- 발행사항
- Ann Arbor : ProQuest Dissertations & Theses, 2024
- 형태사항
- 152 p
- 주기사항
- Source: Dissertations Abstracts International, Volume: 85-10, Section: B.
- 주기사항
- Advisor: Polikarpova, Nadia.
- 학위논문주기
- Thesis (Ph.D.)--University of California, San Diego, 2024.
- 초록/해제
- 요약Program synthesizers promise to save time for the programmer by writing parts of their code for them, provided the programmer knows exactly what they want. For it to suggest that code, the programmer must convey the nuances of their specification to the synthesizer. Is there a place for program synthesizers when those nuances are unclear, and a programmer must explore the design space of their problem? This dissertation argues that program synthesizers can facilitate exploring for code, and that techniques to validate explored code are needed to reduce cognitive effort.To use a traditional synthesizer successfully, the programmer needs a deep understanding of the problem. Firstly, a programmer must convert their intent into the specific language their tool understands, which may not match how they think about their intent. Secondly, a programmer needs to know all the edge cases of their problem and how each one should behave. If both of these cannot be met, then a traditional synthesizer will usually be more effort to use than simply writing the desired program.As modern, probabilistic synthesizers require less overall information to offer a suggestion, they can fill a new role in the programming workflow: code exploration. A programmer no longer needs complete understanding of their problem nor be able to communicate all nuances to the tool. This new exploration domain presents new challenges, particularly one of validating the code matches the often incomplete intent of the programmer. Validating code against intent must be quicker or easier to justify a tool's use in exploration to be useful. In this dissertation, I show that both traditional and probabilistic program synthesizers can aid in this exploratory process of programming, and that techniques to validate that explored code reduce the cognitive effort.
- 일반주제명
- Computer science
- 기타저자
- University of California, San Diego Computer Science and Engineering
- 기본자료저록
- Dissertations Abstracts International. 85-10B.
- 전자적 위치 및 접속
- 로그인 후 원문을 볼 수 있습니다.
MARC
008250123s2024 us c eng d■001000017160334
■00520250211150959
■006m o d
■007cr#unu||||||||
■020 ▼a9798382302522
■035 ▼a(MiAaPQ)AAI30993806
■040 ▼aMiAaPQ▼cMiAaPQ
■0820 ▼a004
■1001 ▼aJames, Michael Buchanan.
■24510▼aExploratory Phenomena in Program Synthesis
■260 ▼a[Sl]▼bUniversity of California, San Diego▼c2024
■260 1▼aAnn Arbor▼bProQuest Dissertations & Theses▼c2024
■300 ▼a152 p
■500 ▼aSource: Dissertations Abstracts International, Volume: 85-10, Section: B.
■500 ▼aAdvisor: Polikarpova, Nadia.
■5021 ▼aThesis (Ph.D.)--University of California, San Diego, 2024.
■520 ▼aProgram synthesizers promise to save time for the programmer by writing parts of their code for them, provided the programmer knows exactly what they want. For it to suggest that code, the programmer must convey the nuances of their specification to the synthesizer. Is there a place for program synthesizers when those nuances are unclear, and a programmer must explore the design space of their problem? This dissertation argues that program synthesizers can facilitate exploring for code, and that techniques to validate explored code are needed to reduce cognitive effort.To use a traditional synthesizer successfully, the programmer needs a deep understanding of the problem. Firstly, a programmer must convert their intent into the specific language their tool understands, which may not match how they think about their intent. Secondly, a programmer needs to know all the edge cases of their problem and how each one should behave. If both of these cannot be met, then a traditional synthesizer will usually be more effort to use than simply writing the desired program.As modern, probabilistic synthesizers require less overall information to offer a suggestion, they can fill a new role in the programming workflow: code exploration. A programmer no longer needs complete understanding of their problem nor be able to communicate all nuances to the tool. This new exploration domain presents new challenges, particularly one of validating the code matches the often incomplete intent of the programmer. Validating code against intent must be quicker or easier to justify a tool's use in exploration to be useful. In this dissertation, I show that both traditional and probabilistic program synthesizers can aid in this exploratory process of programming, and that techniques to validate that explored code reduce the cognitive effort.
■590 ▼aSchool code: 0033.
■650 4▼aComputer science
■653 ▼aHuman-Computer Interactions
■653 ▼aProgram Synthesis
■690 ▼a0984
■71020▼aUniversity of California, San Diego▼bComputer Science and Engineering.
■7730 ▼tDissertations Abstracts International▼g85-10B.
■790 ▼a0033
■791 ▼aPh.D.
■792 ▼a2024
■793 ▼aEnglish
■85640▼uhttp://www.riss.kr/pdu/ddodLink.do?id=T17160334▼nKERIS▼z이 자료의 원문은 한국교육학술정보원에서 제공합니다.


