Главная
Study mode:
on
1
Intro
2
my goal: automate programming
3
example: insert into a sorted list
4
insert in a functional language
5
specification for insert
6
program synthesis
7
types are specifications
8
refinement types: sorted lists
9
insert in Synquid
10
case study: negation normal form
11
nnf: data types
12
nnf: specification
13
nnf: synthesized code
14
the future of programming (not)
15
orthogonal concerns
16
information leaks
17
information security with Lifty
18
timing attacks
19
resource-aware programming with ReSyn
20
synthesis-aided programming
Description:
Explore type-driven program synthesis and its applications in improving software quality through this conference talk. Delve into the use of declarative constructs and program synthesis technology to translate specifications into executable code. Learn about refinement type checking as a verification mechanism that combines types and SMT solving for automatic reasoning. Discover two applications: Synquid, a tool for creating recursive functional programs from refinement types, and Lifty, a language that uses type-driven synthesis to repair information flow leaks. Examine case studies involving complex data structures, information flow policies, and automated access check insertion. Gain insights into the future of programming, including orthogonal concerns, information security, and resource-aware programming through synthesis-aided techniques.

Type-Driven Program Synthesis

Strange Loop Conference
Add to list