본문

서브메뉴

Combining Datalog and SAT-Based Solving in Code-Reasoning Tools- [electronic resource]
Combining Datalog and SAT-Based Solving in Code-Reasoning Tools- [electronic resource]

상세정보

자료유형  
 학위논문
Control Number  
0016935042
International Standard Book Number  
9798380848657
Dewey Decimal Classification Number  
004
Main Entry-Personal Name  
Bembenek, Aaron.
Publication, Distribution, etc. (Imprint  
[S.l.] : Harvard University., 2023
Publication, Distribution, etc. (Imprint  
Ann Arbor : ProQuest Dissertations & Theses, 2023
Physical Description  
1 online resource(193 p.)
General Note  
Source: Dissertations Abstracts International, Volume: 85-05, Section: B.
General Note  
Advisor: Chong, Stephen.
Dissertation Note  
Thesis (Ph.D.)--Harvard University, 2023.
Restrictions on Access Note  
This item must not be sold to any third party vendors.
Summary, Etc.  
요약Datalog and SAT solving are powerful forms of automated logic that are both used to reason about the correctness of software. However, they are very different, and they are not typically combined in the same automated reasoning tool. This dissertation explores how to build code-reasoning tools that combine these complementary technologies, through two main thrusts: 1) the design and implementation of the logic-centric programming language Formulog, and 2) a progression of tools for Datalog program synthesis. In doing so, it explores the challenge of combining Datalog and SAT-based reasoning at multiple levels, viewing it variously as a language design problem, a system implementation problem, and a constraint solving problem. A domain-specific language for writing static analyses (programs that analyze other programs), Formulog augments Datalog with first-order functional programming and SMT solving, an extension to SAT solving. In Formulog, SMT formulas are data that can be constructed and inspected; a novel type system allows expressive SMT formulas while ensuring that neither normal evaluation nor SMT solving crashes. Formulog's combination of features makes it possible to state a range of SMT-based analyses in a way that is both close to their formal specifications, and amenable to high-level optimizations and efficient evaluation.In addition to the design of Formulog, this dissertation presents implementation strategies for achieving good runtime performance. This includes a compiler from Formulog to Souffle (an established Datalog system), as well as "eager evaluation," a novel parallel execution algorithm for Datalog that leads to improved SMT solving times when used to evaluate Formulog programs. Thanks to these techniques, Formulog's performance is competitive with (and some-times much better than) non-Datalog reference implementations on diverse SMT-based case studies: refinement type checking, bottom-up points-to analysis, and symbolic execution. Finally, the dissertation presents a progression of tools for synthesizing Datalog programs (i.e., generating them automatically from specifications). Each tool explores a different way of combining Datalog and SAT/SMT solving; the ultimate solution takes advantage of answer set programming (ASP)-a constraint solving paradigm that subsumes Datalog and SAT-like reasoning-and achieves nearly order-of-magnitude geometric mean speedups over the prior state-of-the-art solution. This work elucidates connections between Datalog and SAT/SMT solving (for example, it shows that every Datalog program is the basis of a theoretically efficient SMT theory), and suggests the potential of using ASP to reason about Datalog programs.
Subject Added Entry-Topical Term  
Computer science.
Subject Added Entry-Topical Term  
Computer engineering.
Index Term-Uncontrolled  
Datalog programs
Index Term-Uncontrolled  
Logic programming
Index Term-Uncontrolled  
Static analyses
Index Term-Uncontrolled  
Program synthesis
Index Term-Uncontrolled  
SAT solving
Index Term-Uncontrolled  
SMT solving
Added Entry-Corporate Name  
Harvard University Engineering and Applied Sciences - Computer Science
Host Item Entry  
Dissertations Abstracts International. 85-05B.
Host Item Entry  
Dissertation Abstract International
Electronic Location and Access  
로그인을 한후 보실 수 있는 자료입니다.
Control Number  
joongbu:640799

MARC

 008240220s2023        ulk                      00        kor
■001000016935042
■00520240214101846
■006m          o    d                
■007cr#unu||||||||
■020    ▼a9798380848657
■035    ▼a(MiAaPQ)AAI30639178
■040    ▼aMiAaPQ▼cMiAaPQ
■0820  ▼a004
■1001  ▼aBembenek,  Aaron.▼0(orcid)0000-0002-3677-701X
■24510▼aCombining  Datalog  and  SAT-Based  Solving  in  Code-Reasoning  Tools▼h[electronic  resource]
■260    ▼a[S.l.]▼bHarvard  University.  ▼c2023
■260  1▼aAnn  Arbor▼bProQuest  Dissertations  &  Theses▼c2023
■300    ▼a1  online  resource(193  p.)
■500    ▼aSource:  Dissertations  Abstracts  International,  Volume:  85-05,  Section:  B.
■500    ▼aAdvisor:  Chong,  Stephen.
■5021  ▼aThesis  (Ph.D.)--Harvard  University,  2023.
■506    ▼aThis  item  must  not  be  sold  to  any  third  party  vendors.
■520    ▼aDatalog  and  SAT  solving  are  powerful  forms  of  automated  logic  that  are  both  used  to  reason  about  the  correctness  of  software.  However,  they  are  very  different,  and  they  are  not  typically  combined  in  the  same  automated  reasoning  tool.  This  dissertation  explores  how  to  build  code-reasoning  tools  that  combine  these  complementary  technologies,  through  two  main  thrusts:  1)  the  design  and  implementation  of  the  logic-centric  programming  language  Formulog,  and  2)  a  progression  of  tools  for  Datalog  program  synthesis.  In  doing  so,  it  explores  the  challenge  of  combining  Datalog  and  SAT-based  reasoning  at  multiple  levels,  viewing  it  variously  as  a  language  design  problem,  a  system  implementation  problem,  and  a  constraint  solving  problem. A  domain-specific  language  for  writing  static  analyses  (programs  that  analyze  other  programs),  Formulog  augments  Datalog  with  first-order  functional  programming  and  SMT  solving,  an  extension  to  SAT  solving.  In  Formulog,  SMT  formulas  are  data  that  can  be  constructed  and  inspected;  a  novel  type  system  allows  expressive  SMT  formulas  while  ensuring  that  neither  normal  evaluation  nor  SMT  solving  crashes.  Formulog's  combination  of  features  makes  it  possible  to  state  a  range  of  SMT-based  analyses  in  a  way  that  is  both  close  to  their  formal  specifications,  and  amenable  to  high-level  optimizations  and  efficient  evaluation.In  addition  to  the  design  of  Formulog,  this  dissertation  presents  implementation  strategies  for  achieving  good  runtime  performance.  This  includes  a  compiler  from  Formulog  to  Souffle  (an  established  Datalog  system),  as  well  as  "eager  evaluation,"  a  novel  parallel  execution  algorithm  for  Datalog  that  leads  to  improved  SMT  solving  times  when  used  to  evaluate  Formulog  programs.  Thanks  to  these  techniques,  Formulog's  performance  is  competitive  with  (and  some-times  much  better  than)  non-Datalog  reference  implementations  on  diverse  SMT-based  case  studies:  refinement  type  checking,  bottom-up  points-to  analysis,  and  symbolic  execution. Finally,  the  dissertation  presents  a  progression  of  tools  for  synthesizing  Datalog  programs  (i.e.,  generating  them  automatically  from  specifications).  Each  tool  explores  a  different  way  of  combining  Datalog  and  SAT/SMT  solving;  the  ultimate  solution  takes  advantage  of  answer  set  programming  (ASP)-a  constraint  solving  paradigm  that  subsumes  Datalog  and  SAT-like  reasoning-and  achieves  nearly  order-of-magnitude  geometric  mean  speedups  over  the  prior  state-of-the-art  solution.  This  work  elucidates  connections  between  Datalog  and  SAT/SMT  solving  (for  example,  it  shows  that  every  Datalog  program  is  the  basis  of  a  theoretically  efficient  SMT  theory),  and  suggests  the  potential  of  using  ASP  to  reason  about  Datalog  programs.
■590    ▼aSchool  code:  0084.
■650  4▼aComputer  science.
■650  4▼aComputer  engineering.
■653    ▼aDatalog  programs
■653    ▼aLogic  programming
■653    ▼aStatic  analyses  
■653    ▼aProgram  synthesis
■653    ▼aSAT  solving
■653    ▼aSMT  solving
■690    ▼a0984
■690    ▼a0464
■690    ▼a0800
■71020▼aHarvard  University▼bEngineering  and  Applied  Sciences  -  Computer  Science.
■7730  ▼tDissertations  Abstracts  International▼g85-05B.
■773    ▼tDissertation  Abstract  International
■790    ▼a0084
■791    ▼aPh.D.
■792    ▼a2023
■793    ▼aEnglish
■85640▼uhttp://www.riss.kr/pdu/ddodLink.do?id=T16935042▼nKERIS▼z이  자료의  원문은  한국교육학술정보원에서  제공합니다.
■980    ▼a202402▼f2024

미리보기

내보내기

chatGPT토론

Ai 추천 관련 도서


    New Books MORE
    Related books MORE
    최근 3년간 통계입니다.

    高级搜索信息

    • 预订
    • 캠퍼스간 도서대출
    • 서가에 없는 책 신고
    • 我的文件夹
    材料
    注册编号 呼叫号码. 收藏 状态 借信息.
    TQ0026719 T   원문자료 열람가능/출력가능 열람가능/출력가능
    마이폴더 부재도서신고

    *保留在借用的书可用。预订,请点击预订按钮

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

    Related books

    Related Popular Books

    도서위치