HW4: Concolic testing Busybox expr (due Nov 30 23:59)

Slides:



Advertisements
Similar presentations
ANT: Another Nice Tool Ali Beyad October 1, 2003.
Advertisements

Systems Dev. Tutorial II: Make, utilities, & scripting Recitation Wednesday, Sept 13 th, 2006.
Basic linux shell commands and Makefiles. Log on to engsoft.rutgers.edu Open SSH Secure Shell – Quick Connect Hostname: engsoft.rutgers.edu Username/password:
© 2010 IBM Corporation IBM Experience Modeler - Theme Editor Installing Python Image Library Presenter’s Name - Presenter’s Title DD Month Year.
Comandos Windows. ASSOC - Displays or modifies file extension associations.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
How To Build Busybox with Gcov by Yunho Kim Provable Software Lab, KAIST.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Trilinos 101: Getting Started with Trilinos November 7, :30-9:30 a.m. Mike Heroux Jim Willenbring.
Enabling the ARM Learning in INDIA ARM DEVELOPMENT TOOL SETUP.
SimpleScalar Tool Set, Version 2 CSE 323 Department of Computer Engineering.
Internet of Things with Intel Edison Compiling and running Pierre Collet Intel Software.
Makefiles CISC/QCSE 810. BeamApp and Tests in C++ 5 source code files After any modification, changed source needs to be recompiled all object files need.
Introduction Use of makefiles to manage the build process Declarative, imperative and relational rules Environment variables, phony targets, automatic.
Jump to first page (C) 1998, Arun Lakhotia 1 Software Configuration Management: Build Control Arun Lakhotia University of Southwestern Louisiana Po Box.
How to Tag a Corpus Using Stanford Tagger. Accuracy All tokens: 97.32% Unknown words: 90.79%
COP 3330 Notes 1/12. Today's topics Downloading Java and Eclipse Hello World Basic control structures Basic I/O Strings.
Performing Software Installation with Group Policy Lesson 9.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring Mike Phenow.
1 Radius + MySQL Authentication and Accounting AFNOG 2000 Cape Town, South Africa.
Semi-Automatic patch upgrade kit
Track Short Course: TrackRT Installation Thomas Herring, MIT Room A
PostgreSQL Installation By: Keerthi Nelaturu Previous version by Ahmed Jeddah & Miguel Garzon.
Dissecting the Windows CE Build Process James Y. Wilson Principal Engineer, Windows Embedded MVP CalAmp, Inc. James Y. Wilson Principal Engineer, Windows.
1 / Platform Development Process In-house limited Automatically Measuring Code Coverage in Distributed Environment Li Fei Peng Platform QA Part, NSC 2009-
Guide to MCSE , Enhanced 1 Activity 3-1: Reviewing User Account Properties Objective is to review properties of user accounts through main tabs of.
HW4: Due Nov 24th 23:59 1.Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also, draw.
Getting Started with Trilinos October 14, :30-10:30 a.m. Jim Willenbring.
More Unix Naomi Altman. Directories Directory = folder mkdir - makes a new directory rmdir - removes an empty directory cd mydirectory - moves you into.
Open project in Microsoft Visual Studio → build program in “Release” mode.
® IBM Software Group © 2006 IBM Corporation Rational Asset Manager v7.2 Using Scripting Tutorial for using command line and scripting using Ant Tasks Carlos.
Lab 8 Department of Computer Science and Information Engineering National Taiwan University Lab8 - Root Filesystem 2015/11/10/ 22 1.
Chapter Linux Basics. Acknowledgements This presentation was prepared by – Banyat Settapanich – Bahran Madaen This presentation will be updated later.
Install CB 1.8 on Ubuntu. Steps Followed Install Ubuntu (Ubuntu LTS) on Virtual machine – (VMware Workstation) (
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
1 Project 7: Looping. Project 7 For this project you will produce two Java programs. The requirements for each program will be described separately on.
Centralized Settings for Noxturnal  How to manage Noxturnal‘s Default Settings through Noxturnal Administrator mode  How to centralize Noxturnal settings.
Brandon Packard. Why make? So far, you have probably worked on relatively small projects Coding projects can become huge My research consists of 1600.
HW7: Due Dec 5th 23:59 1.Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also, draw.
1 COMP 3500 Introduction to Operating Systems Project 4 – Processes and System Calls Part 3: Adding System Calls to OS/161 Dr. Xiao Qin Auburn University.
Starting Analysis with Athena (Esteban Fullana Torregrosa) Rik Yoshida High Energy Physics Division Argonne National Laboratory.
Makefiles CSSE 332 Operating Systems
BASIS Quick Start Guide
Python’s Modules Noah Black.
Install external command line softwares
Brief Intro to Make CST494/ Gannod.
Programming Language Hierarchy, Phases of a Java Program
Distributed Computing Systems
Implementation of Embedded OS
WORKSHOP 3 GSE IMPORT.
Moonzoo Kim CS Dept. KAIST
CMPE 152: Compiler Design ANTLR 4 and C++
Moonzoo Kim CS Dept. KAIST
Prof: Dr. Shu-Ching Chen TA: Samira Pouyanfar Hector Cen Fall 2017
ADA aodhisto transformation
Contiki and Code Composer Studio
Unit 9 NT1330 Client-Server Networking II Date: 8/9/2016
Setting up CDT Makefile project
Good Testing Practices
CMPSC 60: Week 4 Discussion
Cordova & Cordova Plugin Installation and Management
GNU gcov gcov is a test coverage program running with gcc.
Classes 5/5 May 14, 2019 ICS102: Classes 5/5.
Preparation for Assignment 2
Testing grep.c (200 pts) For grep.c, generate 10,000 test cases through the (reverse) DFS search strategy. You are requested to modify grep.c to create.
HW4: Due Nov 22nd 23:59 Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also,
HW7: Due Dec 5th 23:59 Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also, draw.
HW#7 Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also, draw the complete execution.
SPL – PS1 Introduction to C++.
Implementation Plan system integration required for each iteration
Presentation transcript:

HW4: Concolic testing Busybox 1.17.0 expr (due Nov 30 23:59) Use Makefile and cil package we distribute to compile busybox expr with CREST. Also, use Busybox 1.17.0. For busybox expr, generate 10,000 test cases through the DFS search strategy. You are requested to modify expr.c to create test cases through CREST and feed those generated test cases to expr Describe which variables are declared symbolically and how How long is EXPR string, too Describe how you modified the target code to improve branch coverage Create 10,000 test cases in files (i.e.,tc1, tc2,… tc10000 Measure the final branch coverage reported by CREST (i.e., MC/DC coverage) You can do this by analyzing branch and coverage output file Apply the 10,000 test cases (tc1,…tc10000) to expr and measure the branch coverage reported by gcov For this task, you should not use CREST. Use original Makefile instead of what we distribute You may build a shell script to execute busybox expr 10,000 times with 10,000 test cases. Also, you may rename 10,000 test cases to a single name at each testing iteration (i.e., mv tc%d tc)

Detailed Experiment Setting There are two steps to enable CREST run for busybox 1.17.0. 1. Install a new version of CIL, before compile busybox with CREST.     1.1 Unzip the attached cil.tar.bz2 to local folder     1.2 Copy the cil/ directory to /usr/local (cilly will be in /usr/local/cil/bin/cilly).           or copy the cil/ directory to somewhere you want 1.3 type ./configure && make && make install.   2. Modify Makefile in busybox.     1.1 Replace Makefile in busybox by attached Makefile.     1.2 Modify cilly path in CC to the path of cilly in your computer.      1.3 Modify -I/usr/local/include in CFLAGS to include crest.h in your computer.     1.4 Modify -L/usr/local/lib in LDFLAGS to includes libcrest.a in your computer.