Templates of slides for P3 1. A brief update on your problem (important) Describe in English -what artifacts (programs, etc) will you synthesize, -what.

Slides:



Advertisements
Similar presentations
David Luebke 1 6/7/2014 CS 332: Algorithms Skip Lists Introduction to Hashing.
Advertisements

MATH 224 – Discrete Mathematics
CHAPTER 2 ALGORITHM ANALYSIS 【 Definition 】 An algorithm is a finite set of instructions that, if followed, accomplishes a particular task. In addition,
Programming with Constraint Solvers CS294: Program Synthesis for Everyone Ras Bodik Emina Torlak Division of Computer Science University of California,
Analysis of Algorithms CS Data Structures Section 2.6.
Counting the bits Analysis of Algorithms Will it run on a larger problem? When will it fail?
Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable supply of ready processes to.
Programming Model for Spatial Low-Power Architectures Phitchaya Mangpo Phothilimthana and Nishant Totla with Prof. Ras Bodik mentored by Dinakar Dhurjati.
Nonregular languages Sipser 1.4 (pages 77-82). CS 311 Mount Holyoke College 2 Nonregular languages? We now know: –Regular languages may be specified either.
Nonregular languages Sipser 1.4 (pages 77-82). CS 311 Fall Nonregular languages? We now know: –Regular languages may be specified either by regular.
Not all algorithms are created equally Insertion of words from a dictionary into a sorted list takes a very long time. Insertion of the same words into.
4 July 2005 overview Traineeship: Mapping of data structures in multiprocessor systems Nick de Koning
Chapter 7 Memory Management
CSE115/ENGR160 Discrete Mathematics 02/24/11 Ming-Hsuan Yang UC Merced 1.
Costas Busch - RPI1 Grammars. Costas Busch - RPI2 Grammars Grammars express languages Example: the English language.
Not all algorithms are created equally Insertion of words from a dictionary into a sorted list takes a very long time. Insertion of the same words into.
Courtesy Costas Busch - RPI
1 Grammars. 2 Grammars express languages Example: the English language.
CS 104 Introduction to Computer Science and Graphics Problems
1 Data Structures A program solves a problem. A program solves a problem. A solution consists of: A solution consists of:  a way to organize the data.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
CS 310 – Fall 2006 Pacific University CS310 Parsing with Context Free Grammars Today’s reference: Compilers: Principles, Techniques, and Tools by: Aho,
1 Reverse of a Regular Language. 2 Theorem: The reverse of a regular language is a regular language Proof idea: Construct NFA that accepts : invert the.
Concept of Basic Time Complexity Problem size (Input size) Time complexity analysis.
Organizing files for performance Chapter Data compression Advantages of reduced file size Redundancy reduction: state code example Repeating sequences:
Elementary Data Structures and Algorithms
1 Lecture 8: Memory Mangement Operating System I Spring 2008.
Compiler Construction 1. Objectives Given a context-free grammar, G, and the grammar- independent functions for a recursive-descent parser, complete the.
2.2 A Simple Syntax-Directed Translator Syntax-Directed Translation 2.4 Parsing 2.5 A Translator for Simple Expressions 2.6 Lexical Analysis.
Comp 249 Programming Methodology Chapter 15 Linked Data Structure - Part B Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia.
Chapter 19 - basic definitions - order statistics ( findkth( ) ) - balanced binary search trees - Java implementations Binary Search Trees 1CSCI 3333 Data.
A Level Computing#BristolMet Session Objectives U2#S6 MUST identify different data types used in programming aka variable types SHOULD describe each data.
Discrete Mathematics Algorithms. Introduction  An algorithm is a finite set of instructions with the following characteristics:  Precision: steps are.
1 Chapter 1 Analysis Basics. 2 Chapter Outline What is analysis? What to count and consider Mathematical background Rates of growth Tournament method.
Invitation to Computer Science, Java Version, Second Edition.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Complexity A decidable problem is computationally solvable. But what resources are needed to solve the problem? –How much time will it require? –How much.
Context Free Grammars. Context Free Languages (CFL) The pumping lemma showed there are languages that are not regular –There are many classes “larger”
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
Abstractions and small languages in synthesis CS294: Program Synthesis for Everyone Ras Bodik Emina Torlak Division of Computer Science University of California,
Data Structures & Algorithms Recursion and Trees Richard Newman.
1 Compiler Design (40-414)  Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007  Evaluation:  Midterm.
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
Introduction to Analysis of Algorithms CS342 S2004.
ALGORITHMS.
1/6/20161 CS 3343: Analysis of Algorithms Lecture 2: Asymptotic Notations.
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.
Searching Topics Sequential Search Binary Search.
Language Translation Part 2: Finite State Machines.
Data Structures Arrays and Lists Part 2 More List Operations.
CMPT 120 Topic: Sorting Algorithms – Part 1. Last Lectures Searching algorithms and their time efficiency Linear search is of order n -> O(n) i.e., has.
Why do we study algorithms?. 2 First results are about bats and dolphins.
CSE 250 – Data Structures. Today’s Goals  First review the easy, simple sorting algorithms  Compare while inserting value into place in the vector 
1 Recursion and induction We teach these early, instead of new object- oriented ideas, so that those who are new to Java can have a chance to catch up.
Compiler Design (40-414) Main Text Book:
Introduction to Algorithms: Asymptotic Notation
A Simple Syntax-Directed Translator
Binary Search Tree (BST)
New applications of program synthesis
Introduction to Programming
CSE322 LEFT & RIGHT LINEAR REGULAR GRAMMAR
Object Oriented Design Patterns - Behavioral Patterns
CS 201 Fundamental Structures of Computer Science
Analysis of Algorithms
3.4 Local Binding Recall Scheme's let: > (let ((x 5)‏ (y 6))
Templates of slides for P4 Experiments with your synthesizer
Revision of C++.
Every number has its place!
Lecture 18 Compilers and Language Translation (S&G, ch. 9)
Donghui Zhang, Tian Xia Northeastern University
Presentation transcript:

Templates of slides for P3 1

A brief update on your problem (important) Describe in English -what artifacts (programs, etc) will you synthesize, -what is your behavioral spec? (i/o examples? a ref impl?) -list the benchmarks/tests you created to drive your design [30 seconds] 2

Demo of a program in your language (YL) Show us an example of a typical program in YL Walk us through the code Include a screenshot of running example 3

Revisions to YL (brief slide) Describe how you simplified YL -what observations allowed you to drop a construct -or reduce it to a smaller language core? Did you have to add a construct? -what use case necessitated that? Argue YL is the smallest language for your task 4

Holes in YL (the key slide) Describe your candidate space (CS) what set of programs will your synthesizer search CS can be described by defining a “hole” construct holes are what your synthesizer will complete A definition of “hole” has two parts: a)where can holes appear in YL programs eg: loop bounds; lock placement; Xpath expressions b)with what expressions are holes completed? eg: linear over induction vars; lock placement freedom; equality between node ids and string literals You should try to explain these points entirely on the example from the next slide. 5

Example and size of Candidate Space Show example of a sketch -reuse example from slide 3; add holes to it Size of the candidate space you need to search -may be larger than you expect (unless you found tiny YL) -determines what algorithm you need to use -likely will show you can’t just gen-and-test candidates Back-of-the-envelope space estimates -think of holes as grammars (add holes to YL grammar, G H ) -what is the size of largest program you need to find, s -how many candidate programs of up to size s are in L(G H )? 6

Checklist -demo of screenshot -revisions to your language -sketches: what are YL holes and where can they go? -size of candidate space that needs to be searched 7

Next project presentation In P4, you will have a compiler from YL to formulas Or to some other scalable synthesis algorithm 8