Symbolic Execution Tools for Software Testing

Slides:



Advertisements
Similar presentations
About Me Tutor Name: Steven Halim Full-time Teaching Assistant and part-time PhD (final year?) in SoC, NUS Former Teaching Assistant for IT1005, Sem 2,
Advertisements

Testing and Analysis of Device Drivers Supervisor: Abhik Roychoudhury Author: Pham Van Thuan 1.
Vertically Integrated Analysis and Transformation for Embedded Software John Regehr University of Utah.
1 Welcome to EQ2430/EQ2435/EQ2440 Project in Wireless Communication Lecture 1 March 20, 2015 Per Zetterberg School of Electrical Engineering.
Kick-off meeting EL2421, Automatic Control, Project Course.
GE105: Introduction to Engineering Design Course Information College of Engineering King Saud University Feb 1, 2012.
CUTE: A Concolic Unit Testing Engine for C Technical Report Koushik SenDarko MarinovGul Agha University of Illinois Urbana-Champaign.
1 General Introduction CPRE 416-Software Evolution and Maintenance-Lecture 1.
SE3183 Advance Web Programming Programming Session 2013/2014.
Welcome CSCI 1100/1202 Intro to Computer Science Winter 2002.
Placement Consultants Software Project team members: Jambukia Shweta(09it040) Komal Makadiya(09it055) Nilisha Jain(09it057)
Fall CIS 764 Database Systems Engineering L1: Introduction to … CIS 764 Enterprise Database Systems Engineering: Software.
Project Outline City of Mountain View – need image !
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 9, 2010.
WebCT: Managing Students and Communicating FITC Staff.
Teaching AIS OnlineAIS Educator’s Conference Teaching AIS Online Training Session For AIS Educator’s Conference June 24, 2005.
1 Welcome Back Fall 2011 Science Department Valencia College Renee Y. Becker.
CS Welcome to CS 5383, Topics in Software Assurance, Toward Zero-defect Programming Spring 2007.
IST 210: Organization of Data
CSV 889: Concurrent Software Verification Subodh Sharma Indian Institute of Technology Delhi Scalable Symbolic Execution: KLEE.
Administrative Information SC/CSE SU10 -- Software Design.
CS 161 Computer Science I Andrew Scholer
ECE297 TA GUIDE Project supervision. Agenda M0 feedback Project overview M1 overview Project supervision.
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 7, 2010.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
Principles of Imperative Computation Lecture 1 January 15 th, 2012.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Week 6 MondayTuesdayWednesdayThursdayFriday Testing III Reading due Group meetings Testing IVSection ZFR due ZFR demos Progress report due Readings out.
Software Engineering Lecture 9: Configuration Management.
VA Primavera P6: Progress Reporter (PR) Department of Veterans Affairs Office of Information and Technology IT Workforce Development (ITWD) in collaboration.
Water and people in a changing world Yhd ; Spring
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
1. Begin Quick Start 2. Administration 3. Good to Know 4. Slightly Technical 5. User Experience 6. You are ready to go !
Class Introduction IST 210: Organization of Data IST2101.
Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Wolfgang Runte Software Engineering Research Group Institute.
Find an AA meeting on the computer at the aa87.org website.
CMPT 201 Computer Science II for Engineers
Welcome to CS 4390/CS5381: Introduction to Formal Methods
Water and people in a changing world
Computer Engineering Department Islamic University of Gaza
Software Process ICS 225 Spring 2002
Introduction to CS Senior Design Project I / II
CSC 591/791 Reliable Software Systems
Seminar in automatic tools for analyzing programs with dynamic memory
CS5040: Data Structures and Algorithms
Oyente: Making Smart Contracts Smarter
Abstract Major Cloud computing companies have started to integrate frameworks for parallel data processing in their product portfolio, making it easy for.
School of EE and Computer Science
ONAP Security Sub-committee Update
Port Everglades Department Pre-Launch Briefing
LMS Launch Plan Helping organizations get their online training program off the ground seamlessly.
Advanced Compilation and Automatic Programming
Introduction to CS Senior Design Project I / II
Introduction to CS Senior Design Project I / II
JDXpert Workday Integration
Change Management Team
New Ideas Track: Testing MapReduce-Style Programs Christoph Csallner, Leonidas Fegaras, Chengkai Li Computer.
Assignment 4 For this assignment refer to the notes on MATLAB from an MIT course that you can find here (or at the original website, lectures 14, 15, 16).
CS240: Advanced Programming Concepts
Syllabus.
Software Testing: A Research Travelogue
YIIP1100 Project Management
Human Media Multicore Computing Lecture 1 : Course Overview
Learning Management System (LMS) Alignment Meeting April 02, 2019
Human Media Multicore Computing Lecture 1 : Course Overview
Introduction to CS Senior Design Project I / II
Using the California After School Program Quality Self Assessment Tool
Academic Integrity.
Symbolic Execution Tools for Software Testing
Symbolic Execution Tools for Software Testing
Presentation transcript:

Symbolic Execution Tools for Software Testing 0368-3526 Noam Rinetzky Sundays* 0900-1100 Kaplun 324

Preliminaries Students will group in teams of 2-3 students. Each group will do one of the projects presented.

Administration Workshop meetings will take place only on Sundays 09-11 No classes during other hours Attendance in all meetings is mandatory Grading: 100% of grade will be given after final project submission. Projects will be graded based on: Code correctness and functionality Original and innovative ideas Level of technical difficulty of solution

Administration Workshop staff (me) should be contacted by email. Noam Rinetzky - maon@cs.tau.ac.il Follow updates on the workshop website:  http://www.cs.tau.ac.il/~maon/teaching/workshop.html

Tentative Schedule Meeting 1 29/10/2017 (today) Meeting 2 12/11/2017 Introduction to symbolic execution Home assignment: Tutorial 1-3 in http://klee.github.io/tutorials/ Meeting 2 12/11/2017 Projects description Project suggestions Meeting 3, 26/11/2017 Each group presents its project & plan Meeting 4, 24/12/2017 Progress report Meeting 5, 21/1/2018 First phase submission Submission: 4/3/2018 Presentation: 15/3/2018 Each group separately

Your Ideas

Suggested Project 1: Search New search heuristics Study existing E.g., random, BFS, DFS, directed Come up with new ones Steering Symbolic Execution to Less Traveled Paths [Li et al. OOPSLA’13]

Suggested Project 2: EVM Smart contracts run on a VM Most popular: EVM (Ethereum) Build an SE engine for EVM Making Smart Contracts Smarter [Luu et al. CCS’16]

Suggested Project 3: Multisolver KLEE works with multiple solvers STP or Z3 Extend KLEE to work with multiple solvers simultaneously Competition mode Smart partitioning of work metaSMT: Focus On Your Application Not On Solver Integration [Haedicke et al. IJSTTT’17]

Suggested Project 4: Foresight Search extends prefixes May explore irrelevant paths E.g., if we look for particular bugs Combine preliminary static analysis to pre-prune paths Pointer analysis (Finds: x and y may never alias) Numerical analysis (Finds: x > y)

Suggested Project 5: Interactive SE KLEE explores paths automatically Search heuristics Add human into the loop Guide the exploration Guide the concretization