Pointer and Shape Analysis Seminar Mooly Sagiv Schriber 317 Office Hours Thursday 15-16.

Slides:



Advertisements
Similar presentations
Dataflow Analysis for Datarace-Free Programs (ESOP 11) Arnab De Joint work with Deepak DSouza and Rupesh Nasre Indian Institute of Science, Bangalore.
Advertisements

PRESENTATION TECHNIQUE
Runtime Techniques for Efficient and Reliable Program Execution Harry Xu CS 295 Winter 2012.
Automatic Memory Management Noam Rinetzky Schreiber 123A /seminar/seminar1415a.html.
BASICS OF BRIEFING.
3-Valued Logic Analyzer (TVP) Tal Lev-Ami and Mooly Sagiv.
Some Properties of SSA Mooly Sagiv. Outline Why is it called Static Single Assignment form What does it buy us? How much does it cost us? Open questions.
Chair of Software Engineering From Program slicing to Abstract Interpretation Dr. Manuel Oriol.
EFFECTIVE ORAL PRESENTATIONS Why?? You will have to give oral presentations after graduation. You will have to give oral presentations after graduation.
Giving Technical Talks Jaspal Subhlok how not to endlessly repeat the same mistakes.
Background for “KISS: Keep It Simple and Sequential” cs264 Ras Bodik spring 2005.
T Seminar on Network Security Today’s agenda 1.Seminar arrangements 2.Advice on the presentation.
Digital Systems 1Digital Systems Research Presentation.
1 Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications.
Next Section: Pointer Analysis Outline: –What is pointer analysis –Intraprocedural pointer analysis –Interprocedural pointer analysis (Wilson & Lam) –Unification.
Program analysis Mooly Sagiv html://
Some Guidelines on How to Deliver a Good Presentation Dr. Aiman El-Maleh King Fahd University of Petroleum & Minerals Computer Engineering Department COE.
Program analysis Mooly Sagiv html://
Advanced Compilers CSE 231 Instructor: Sorin Lerner.
Mooly Sagiv Schriber 317 Office Hours Wed
Module 9 How to give a good research talk. What’s inside How to give a good research talk How to present a paper, a speaker’s guide.
How to Give Presentations Saul Greenberg University of Calgary.
C.Eng. 591 Graduate Seminar1 2.How to Give a Seminar Contents Opening Introduction Body Summary / Concluding Comments.
Overview of program analysis Mooly Sagiv html://
Pointer and Shape Analysis Seminar Mooly Sagiv Schriber 317 Office Hours Thursday
Data Flow Analysis Compiler Design Nov. 8, 2005.
Program Analysis Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
1 A Seminar on Memory Management Mooly Sagiv Schriber 317 Office Hours Wed
Overview of program analysis Mooly Sagiv html://
Scientific Communication CITS7200 Lecture 10 Giving a Talk.
Suggestions For Writing An Essay Hour Glass Style.
Rojbash. Prepared by: Prof. Dr. Hiwa Banna(Histologist) Head of Anatomy, Histology & Embryology Department. College of Medicine, H M U. The Ideal Lecture.
30-Mar-2009 Lijiang-Panda2009 RAMJW1 Good Talks for Everyone Ralph Wijers Astronomical Institute `Anton Pannekoek’ University of Amsterdam.
How To Give A Scientific Seminar Michelle Chow Ocean Discovery! Sebastopol, CA.
Speak Smart, Stand Smart, Be Smart
CC Presentation Guidelines. Introduction Communicate thoughts and ideas effectively using various tools and media Presentation skills important.
Making Technical Presentations A Brief Tutorial. 2 Making Presentations A presentation is not a paper. –Medium, coverage, detail –Decisions regarding.
Chapter 13– Strategies for Effective Oral Presentations The goal of the presentation is to communicate, clearly and concisely, the results and implications.
Unit 5.  Know your topic and become an expert  Have an idea what the background is of your audience is so you will know how much detail to go into and.
© 2006 Internet Security Systems. All rights reserved worldwide. Contents are property of Internet Security Systems. Ph. D. Workshop How to Deliver a Good.
Click to edit Master title style Technical Presentations Randy Beard & David Long Department of Electrical and Computer Engineering Brigham Young University.
PRESENTATIONS: WHAT MAKES FOR A SUCCESSFUL PRESENTATION? PRESENTATIONS: WHAT MAKES FOR A SUCCESSFUL PRESENTATION? PRESENTED BY: ILDIKO HORVATH For reference.
Nature and Importance of Oral Presentations
ENGLISH FOR PUBLIC ADMINISTRATION II
© Prentice Hall, 2008 Excellence in Business Communication, 8eChapter Writing Business Reports and Proposals.
1 Good Presentation Guidelines Husni Al-Muhtaseb King Fahd University of Petroleum & Minerals Information & Computer Science department ICS 350/ 351/
Guidelines for Paper Presentation Mei-Chen Yeh 03/30/2010.
1 Presentation Skill Orientation Class by Lecturer: LONG BUNTENG ORIENTATION CLASS CAMBODIAN MEKONG UNIVERSITY.
Program Analysis Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
An Undergraduate Course on Software Bug Detection Tools and Techniques Eric Larson Seattle University March 3, 2006.
PRESENTATIONS RB, p MK, p.181. CONTENT DELIVERY % % ?
Combining sound, pictures, and words to tell a story... From Reading to Presenting Legendary characters are often heroic, from John Henry, the man who.
Speech and Debate 9/17/2014. Schedule 1.Welcome! 2.Check the schedule 3.How Effective Do You Think You Are as a Presenter? 1.Watch a short speech 4.About.
Presenting Research. Facts Most people are intimidated in front of and audience. – Often more intimidating than flying, poisonous snakes, death… Most.
Principles of Communication Chapter 5: Public Speaking W.I.I.F.M?
Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications Chapter.
1 How to Present a Paper Jun Dong Cho, Sungkyunkwan University Jun Dong Cho, Sungkyunkwan University03/31/2007.
INFOMGP Student names and numbers Papers’ references Title.
1 Iterative Program Analysis Abstract Interpretation Mooly Sagiv Tel Aviv University Textbook:
Prepared by: Prof. Dr. Hiwa Banna(Histologist) Head of Anatomy, Histology & Embryology Department. College of Medicine, H M U. The Ideal Lecture.
Polishing Your Written Communication
Guidelines for Project Presentation Mei-Chen Yeh 04/03/2012.
Characteristics of a Good Speech * You need to remember this: A speech is the same thing as an essay, only spoken.
Giving Technical Talks
Code Optimization.
How to Present a Seminar Paper: A Speaker’s Guide
Seminar in automatic tools for analyzing programs with dynamic memory
CSC5240 Combinatorial Search and Optimization with Constraints
Programming Language Seminar
Informative Speech An informative speech is one that presents or describes information. It helps an audience understand a topic and remember details about.
Presentation transcript:

Pointer and Shape Analysis Seminar Mooly Sagiv Schriber 317 Office Hours Thursday 15-16

Outline 1.General information 2.Seminar subject 3.How to give a presentation

General Information Prerequisites –Compilers | Program Analysis –Select 3 topics by Sunday –Participate in 9 seminar talks –Present a paper

Tentative Schedule Today: Intro Sunday (selection of topic) Student lectures

Pointer and Shape Analysis

Program Analysis  Statically analyze the program text (w/o input)  Determine conservative information about all (some) program executions  Applications  Verification  Each verified property holds but not all properties can be verified all programs  False alarms  Compiler optimizations  Parallelizations  Garbage collection

Alias Analysis Two expressions referring to the same memory location at a given program point on some (all) executions [1] p = &a; [2] q = &b; [3] if (getc()) [4] q = &c [5] *p =  a *q =  c *q =  b

Points-To Analysis Determine if a variable points to a variable at some (all) execution paths [1] p = &a; [2] q = &b; [3] if (getc()) [4] q = &c [5] p   a q   c q   b

Shape Analysis Determine the potential shapes of memory at a given program point [1] p = &a; [2] q = &b; [3] if (getc()) [4] q = &c ap * ap * bq * ap * cq * ap * bq * ap * cq *

Applications “Adapt” other optimizations –Constant propagation x = 5; *p = 7 ; … x … Side-effect analysis *p = *q + * * t Verification –No null dereferences –No memory leaks

Iterative Program Analysis Start by optimistically assuming that nothing is wrong –No aliases –No points-to set –Empty sets of shape graphs At every iteration apply the abstract meaning of programming language statements and add more aliases/points-to/shape graphs Stop when no changes occur

Iterative Points-to Analysis t= &a y= &b z= &c p= &yp= &z tata t  a, y  b t  a, y  b, z  c, p  y t  a, y  b, z  c t  a, y  b, z  c, p  z t  a, y  b, z  c, p  y, p  z t  a, y  b, z  c *p= &t

Iterative Points-to Analysis t= &a y= &b z= &c p= &yp= &z tata t  a, y  b t  a, y  b, z  c, p  yt  a, y  b, z  c, p  z t  a, y  b, z  c, p  y, p  z *p= &t t  a, y  b, z  c, p  y, p  z t  a, y  b, z  c, p  y, p  z, y  a, z  a

Iterative Points-to Analysis t= &a y= &b z= &c p= &yp= &z tata t  a, y  b t  a, y  b, z  c, p  y, p  z *p= &t t  a, y  b, z  c, p  y, p  z t  a, y  b, z  c, p  y, p  z, y  a, z  a t  a, y  b, z  c, p  y, y  a, z  a t  a, y  b, z  c, p  z, y  a, z  a

Iterative Points-to Analysis t= &a y= &b z= &c p= &yp= &z tata t  a, y  b *p= &t t  a, y  b, z  c, p  y, p  z, y  a, z  a t  a, y  b, z  c, p  y, y  a, z  a t  a, y  b, z  c, p  z, y  a, z  a t  a, y  b, z  c, p  y, p  z, y  a, z  a

Iterative Shape Analysis t x n x t n x t n n x t t x n t t n t x t x t x empty x t n n x t n n n x t n t n x n x t n n return x x = t t =malloc(..); t  next=x; x = NULL T F

Soundness Every alias is detected Every points-to fact is detected Every potential shape is detected Every potential bug is detected Every enabled optimization is correct

Dimensions of program analysis Flow sensitive Context sensitive

Material on Pointer Analysis Alias Analysis Points-to Analysis Shape Analysis Applications

Giving a presentation Ian Parbery

How to give a presentation What to say and how to say it Getting through the audience Visual aids

What to say and how to say it Communicate the Key Ideas Don’t get bogged down in Details –The best talk make you read the paper Structure your talk Use Top-Down approach –Introduction –Body –[Technicalities] –The Conclusion Use Examples

Introduction Define the problem Motivate the audience Introduce terminology Discuss earlier work Emphasize the contributions [Provide a road map] Use Examples

The body Abstract the major results Explain the significance of the results Explain the main techniques Use enlightening examples Demonstrations are welcome

[Technicalities] Expert only part Show something really interesting beyond the paper/tool

The Conclusion Hindsight is clearer than Foresight Give open problems/further work Indicate that your talk is over

Know your audience Background

Getting through the Audience Use Repetitions Remind, don’t assume Don’t over-run Maintain Eye Contact Control your voice Control your motion Take care of your appearance

Visual Aids PowerPoint transparencies Don’t overload transparencies Don’t use too many transparencies Use Overlays Properly Use Color Effectively Use Pictures and Tables The blackboard can be used too

Don’t overload transparencies The input of the program can be arbitrary. Let x be a prime number, i.e., all the numbers z<x do not divide x. y be the next prime number, i.e., etc. Arbitrary input Prime number x –The next prime y

Use overlays (im)properly Item 1 –Item 1.1 –Item 1.2 Item 2 –Item 2.1 Item 2.1.1

Use colors properly Item 1 Item 2 Item 3