Templates of slides for P4 Experiments with your synthesizer

Slides:



Advertisements
Similar presentations
Bounded Model Checking of Concurrent Data Types on Relaxed Memory Models: A Case Study Sebastian Burckhardt Rajeev Alur Milo M. K. Martin Department of.
Advertisements

TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Programming with Constraint Solvers CS294: Program Synthesis for Everyone Ras Bodik Emina Torlak Division of Computer Science University of California,
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Writing algorithms using the while-statement. Previously discussed Syntax of while-statement:
Programming a computer. What does programming a computer mean ? Programming a computer: Since a computer can only execute machine instructions (encoded.
Software Engineering 1 (Chap. 1) Object-Centered Design.
Templates of slides for P3 1. A brief update on your problem (important) Describe in English -what artifacts (programs, etc) will you synthesize, -what.
Relational Verification to SIMD Loop Synthesis Mark Marron – IMDEA & Microsoft Research Sumit Gulwani – Microsoft Research Gilles Barthe, Juan M. Crespo,
CIS Computer Programming Logic
Algorithmic Problem Solving CMSC 201 Adapted from slides by Marie desJardins (Spring 2015 Prof Chang version)
Chapter 1 Program Development Asserting Java © Rick Mercer.
Synthesis with the Sketch System D AY 1 Armando Solar-Lezama.
Abstractions and small languages in synthesis CS294: Program Synthesis for Everyone Ras Bodik Emina Torlak Division of Computer Science University of California,
CS703: PROJECT GUIDELINES 1. Logistics: Project Most important part of the course Teams of 1 or 2 people Expectations commensurate with size of team Deliverables.
Templates of slides for P2 1. A very brief refresher of your problem Describe in English -what artifacts (programs, etc) you wish to synthesize, -from.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
Programming by Sketching Ras Bodik. 2 The Problem Problem: k-line algorithm translates to k lines of code. 30-year-old idea: Can we synthesize the.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Software Engineering Algorithms, Compilers, & Lifecycle.
Pseudocode (pronounced SOO-doh-kohd)  is a detailed yet readable description of what a computer program or algorithm must do, expressed in a formally-styled.
GCSE COMPUTER SCIENCE Practical Programming using Python Lesson 4 - Selection.
GCSE COMPUTER SCIENCE Practical Programming using Python
ICS 3UI - Introduction to Computer Science
Algorithms and Problem Solving
Programming what is C++
Topic: Introduction to Computing Science and Programming + Algorithm
Algorithms II Software Development Life-Cycle.
Topic: Introduction to Computing Science and Programming + Algorithm
The Design and Analysis of Algorithms
CS510 Compiler Lecture 4.
Introduction to Sketching
Presentation Title Your Name
Overview of Compilation The Compiler Front End
Overview of Compilation The Compiler Front End
System Design.
COMP541 Sequential Logic – 2: Finite State Machines
Introduction to Algorithms
Lecture 2 Introduction to Programming
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
Instructor: Alexander Stoytchev
Chapter 1 Program Development
Advanced Compilation and Automatic Programming
Learning to Program in Python
Introduction to cosynthesis Rabi Mahapatra CSCE617
Designing and Debugging Batch and Interactive COBOL Programs
Learning to Program in Python
Algorithms and Flow Charts
Chapter 11 Introduction to Programming in C
Instructor: Alexander Stoytchev
Programming Funamental slides
Programming Funamental slides
Learning to Program in Python
Chapter 11 Introduction to Programming in C
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
My Project Title (Track: Software)
DESIGN OF SEQUENTIAL CIRCUITS
Algorithms and Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
Introduction to Algorithm and its Complexity Lecture 1: 18 slides
Programming Fundamentals (750113) Ch1. Problem Solving
Basic Concepts of Algorithm
Recap lecture 30 Deciding whether two languages are equivalent or not, example, deciding whether an FA accept any string or not, method 3, examples, finiteness.
EGR 2131 Unit 12 Synchronous Sequential Circuits
Instructor: Aaron Roth
Name of App Tagline (80 chars max, including spaces)
Chapter5: Synchronous Sequential Logic – Part 3
_Synthesis__________________ __Of_______________________ ___First-Order_____Dynamic___ _____________Programming___ _______________Algorithms___ Yewen (Evan)
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

Templates of slides for P4 Experiments with your synthesizer

State your synthesis problem Refresh your problem with sample code. Ideally, show the spec, the sketch (the structure of the sketch may be important) the result of synthesis To save space, you can omit the spec, if obvious you can overlay the result on the sketch Define the type of holes basic types of holes: numbers, strings, anything else? higher level: expressions, sequences of instructions? implementation status: which holes are future work [45 seconds]

Your synthesis algorithm For most of you, this slide will say: 1) I translate the program to a formula the formula insist that the desired program is correct on a set S of inputs state how you obtained S, and the size of S 2) I solve the formula with a solver Foo and then I map the model back to code say how you feed the model back to the sketch If you are using a different algorithm, give more details than suggested above. [30 seconds]

Your encoding [30 seconds] Describe encoding of program semantics into logic. Pick a representative fragment of your program. with the important data types and key operations Show the resulting logical encoding say how ints, etc, are translated (Ints, bitvector, unary?) explain impact of data encoding on encoding of ops A figure really helps here it could show the encoding as a circuit Implementation of your synthesizer (important): tell us how you generate the formula If you don’t use logic encoding, you must explain how you prune your search space ie, how you eliminate many candidates at once [30 seconds]

Demo and scalability Screenshot of your system synthesizing use your judgment what to illustrate here

Lessons and limitations Unique encoding challenges Edward: impact of the spec incorporation of negative examples (P must not output v) Peter: impact of the program semantics encoding of concurrency (instruction interleaving) What is symbolic in your language and what is not impact this choice has on verification [45 secs]

Checklist demo (screenshot) description of your encoding description of your synthesizer implementation scalability chart

Next project presentation In P5, you will have a compiler that generates scalable encoding