Software Testing & Verification Group Moonzoo Kim

Slides:



Advertisements
Similar presentations
DIAMOND: Targeting Verification and Reliability Issues in Systems
Advertisements

1/20 Generalized Symbolic Execution for Model Checking and Testing Charngki PSWLAB Generalized Symbolic Execution for Model Checking and Testing.
Software Quality Seung Yang CS 525 Software Engineering II Dr. Sheldon X. Liang.
What is ERP?  A software solution that streamlines and automation all business processes of a organization or a firm.  Main objective is to facilitate.
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
CS3773 Software Engineering Lecture 01 Introduction.
Necessity of Systematic & Automated Testing Techniques Moonzoo Kim CS Dept, KAIST.
CS590 Z Software Defect Analysis Xiangyu Zhang. CS590F Software Reliability What is Software Defect Analysis  Given a software program, with or without.
1 CS453: Automated Software Testing Moonzoo Kim Software Testing and Verification Group CS Dept. KAIST.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Foundations of Programming Languages – Course Overview Xinyu Feng Acknowledgments: some slides taken or adapted from lecture notes of Stanford CS242
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
EMBEDDED SYSTEMS G.V.P.COLLEGE OF ENGINEERING Affiliated to J.N.T.U. By By D.Ramya Deepthi D.Ramya Deepthi & V.Soujanya V.Soujanya.
© Siemens AG, CT SE 1, Dr. A. Ulrich C O R P O R A T E T E C H N O L O G Y Research at Siemens CT SE Software & Engineering Development Techniques.
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 15, 2011.
Introduction to Software Testing Chapter 9.3 Challenges in Testing Software Test Criteria and the Future of Testing Paul Ammann & Jeff Offutt
JMUSE: Java 프로그램을 위한 돌연변이 기반 오류 추적 시스템 연광흠, 김문주 Software Testing & Verification Group (SWTV) CS Dept., KAIST.
Provable Software Laboratory Moonzoo Kim
Tao Xie Automated Software Engineering Group Department of Computer Science North Carolina State University
Automatically Inferring Temporal Properties for Program Evolution Jinlin Yang and David Evans 15 th IEEE International Symposium on Software Reliability.
Introduction to Software Engineering (1/2) Moonzoo Kim KAIST (slides adapted from CS550 ‘06 taught by prof. D. Bae)
1 Introduction to Software Engineering Lecture 1.
Today’s Agenda  HW #1  Finish Introduction  Input Space Partitioning Software Testing and Maintenance 1.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Automated Unit Testing of Large Industrial Embedded Software using Concolic Testing Yunho Kim, Moonzoo Kim SW Testing & Verification Group KAIST, South.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
A Framework with Behavior-Based Identification and PnP Supporting Architecture for Task Cooperation of Networked Mobile Robots Joo-Hyung Kiml, Yong-Guk.
Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
Concurrency Analysis for Correct Concurrent Programs: Fight Complexity Systematically and Efficiently Moonzoo Kim Computer Science, KAIST.
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
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.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Test Case Purification for Improving Fault Localization presented by Taehoon Kwak SoftWare Testing & Verification Group Jifeng Xuan, Martin Monperrus [FSE’14]
INTRODUCTION TO XSEDE. INTRODUCTION  Extreme Science and Engineering Discovery Environment (XSEDE)  “most advanced, powerful, and robust collection.
Design and development of a prototypical software for semi-automatic generation of test methodologies and security checklists for IT vulnerability.
COMPSCI 110 Operating Systems
CS492D: Automated Software Analysis Techniques
Paul Ammann & Jeff Offutt
Introduction to Software Engineering (1/2)
Test Automation CS 4501 / 6501 Software Testing
Moonzoo Kim SWTV Group CS Dept. KAIST
Introduction to Software Engineering (2/2)
CSC 591/791 Reliable Software Systems
Software engineering – 1
Moonzoo Kim CS Dept. KAIST
runtime verification Brief Overview Grigore Rosu
CS453: Automated Software Testing
Moonzoo Kim CS Dept. KAIST
Software Development Cycle
Yunho Kim, Moonzoo Kim, YoungJoo Kim, and Yoonkyu Jang
Moonzoo Kim SWTV Group CS Dept. KAIST
Software engineering Lecturer: Nareena.
ARTIFICIAL INTELLIGENCE IN SOFTWARE TESTING
Foundations of Programming Languages – Course Overview
Foundations of Programming Languages – Course Overview
Test Automation CS 4501 / 6501 Software Testing
Quality Concurrent SW - Fight the Complexity of SW
CS453: Automated Software Testing
Moonzoo Kim SWTV Group CS Dept. KAIST
The role of the test organization in a Security Sensitive project
Software Development Cycle
Software Development Cycle
Intro. To Quality Software - Fight the Complexity of SW
By Hyunsook Do, Sebastian Elbaum, Gregg Rothermel
Intro. To Quality Software - Fight the Complexity of SW
Automated Unit Testing of Large Industrial Embedded Software using Concolic Testing Yunho Kim, Moonzoo Kim SW Testing & Verification Group KAIST, South.
Moonzoo Kim Provable Software Laboratory CS Dept. KAIST
Presentation transcript:

Software Testing & Verification Group Moonzoo Kim

SWTV group. CS Dept. KAIST Introduction of SWTV group 2/14 To Improve SW reliability through automated testing –Quality attribute for minimizing malfunctions of systems to reduces damage to human life or valuable properties (i.e., to fight software bug) Highly reliable SW technology is a key to the success of industrial products –The portion of SW in embedded devices increases continuously Home Network Intelligent Mobile Systems Highly Reliable Software-intensive Systems Intelligent Medical Devices Main Research Theme Home Service Robots

SWTV group. CS Dept. KAIST Introduction of SWTV group How to Assure Quality of SW? 3

SWTV group. CS Dept. KAIST Introduction of SWTV group Keynote by Bill OOPSLA, 2002 “… When you look at a big commercial software company like Microsoft, … We have as many testers as we have developers. Testers basically test all the time, and developers basically are involved in the testing process about half the time…” “… We're not in the software industry; we're in the testing industry, and writing the software is the thing that keeps us busy doing all that testing.” “…The test cases are unbelievably expensive; in fact, there's more lines of code in the test harness than there is in the program itself. Often that's a ratio of about three to one.” 4

SWTV group. CS Dept. KAIST Introduction of SWTV group Significance of Automated SW Analysis Software has become more ubiquitous and more complex at the same time Human resources are becoming less reliable and more expensive for highly complex software systems Computing resources are becoming ubiquitous and free China provides 10TB storage free –Amazon EC2 price: you can use thousands of 0.057$/hr for 3.2Ghz Quad-core CPU Remaining task? –To develop automated and scientific software analysis tools to utilize computing resource effectively and efficiently 5

SWTV group. CS Dept. KAIST Introduction of SWTV group Research Methodology SoftwareEngineering OK Counter example(s) or System modeling Requirement properties System spec. Automated Testing Req. spec. ProgrammingLanguages Algorithms EmbeddedSystems System programming SW Engineering Security Discrete math Algorithm PL SW TV group 6/14 Science Engineering assert( φ )

SWTV group. CS Dept. KAIST Introduction of SWTV group Ex. Testing a Triangle Decision Program Input : Read three integer values from the command line. The three values represent the length of the sides of a triangle. Output : Tell whether the triangle is 부등변삼각형, 이등변삼각형, 정삼각형 Create a Set of Test Cases for this program: (3,4,5), (2,2,1), (1,1,1) ? Condition 1: a > 0, b > 0, c > 0 Condition 2: a < b + c –Ex. (4, 2, 1) is an invalid triangle –Permutation of the above condition :a < b +c, b < a + c, c < a + b What if b + c exceeds 2 32 (i.e. overflow)? –long v.s. int v.s. short v.s. char Developers often fail to consider implicit preconditions –Cause of many hard-to-find bugs

SWTV group. CS Dept. KAIST Introduction of SWTV group 8/60 # of test cases required? ①4①4 ②10 ③50 ④100 # of feasible unique execution paths? 11 paths guess what test cases needed “Software Testing a craftsman’s approach” 2 nd ed by P.C.Jorgensen (no check for positive inputs)

SWTV group. CS Dept. KAIST Introduction of SWTV group Research Trends toward Quality Systems Academic research on embedded systems has reached stable stage –just adding new functionalities to a target system is not considered as an academic contribution anymore Research focus has moved to the quality of the systems from the mere functionalities of the systems –Energy efficient design, ez-maintenance, dynamic re-configuration, etc Software reliability is one of the highly pursued qualities –ASPLOS 2011 Best paper “S2E: a platform for in-vivo multi-path analysis for software EPFL –OSDI 2008 Best paper “Klee: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Stanford –NSDI 2007 Best paper “Life, Death, and the Critical Transition: Finding Liveness Bugs in Systems U.C. San Diego 9/14

SWTV group. CS Dept. KAIST Introduction of SWTV group Collaborators of Our Group 10/14

뮤즈 (MUSE): 프로그램의 수많은 돌연변이들을 활용한버그 위치 추정 기법 Research SWTV SWTV group 11 Sequential program testing Concurrent program testing Fault localization Test cases Thread sched. scenarios Suspicious stmts.

SWTV group. CS Dept. KAIST Introduction of SWTV group 12

SWTV group. CS Dept. KAIST Introduction of SWTV group Concolic 테스팅 과제의 산업적 성취 년-2012년 2011년-2012년 2013년-2014년 2010년 산학 과제 수행 연도 Phase1(2010) Concolic testing 타당성 조사 Phase1(2010) Concolic testing 타당성 조사 Pilot 과제 적용을 통한 concolic testing 타당성 조사 오픈소스 소프트웨어 (busybox) 및 S 사 소프트웨어 (SLP(Tizen 전신 ) file manager, Samsung security library) 에 적용하여 새로운 버그 발견 Phase2( ) Concolic testing 도구 개발 Phase2( ) Concolic testing 도구 개발 S 사 개발 코드를 테스트하기 위한 자동화된 concolic unit testing 도구 CONBOL 개발 4MLOC 규모의 삼성 내장형 프로그램에 적용하여 결함 발견 및 개발자 보고 후 수정 기존 concolic testing 도구를 확장하여 bit 수준 정확도, BOF 오류 감지, 실행 속도 개선 수행 Phase3( ) Concolic testing 도구 속도 향상 및 오탐 감소 Phase3( ) Concolic testing 도구 속도 향상 및 오탐 감소 CONBOL 오탐 감소를 위한 unit-testing 전략, pre-condition 생성 기술 개발 CONBOL 실행 속도 및 사용성 개선 : 64bit 지원, 최신 SMT solver 지원 등 주 단위 적용을 통해 삼성 내장형 프로그램 및 open source project 의 실제 결함 검출

SWTV group. CS Dept. KAIST Introduction of SWTV group Concolic 테스팅 과제의 학문적 성취 년 2011년 2013년 2010년 2012년 2014년 산학 과제 수행 연도 FSE 2011 held in Szeged, Hungary 논문 발표 FSE: SE 분야 TOP 2 학회 ICSE 2012 held in Zurich, Switzerland, ICST 2012 held in Montreal Canada 논문 2 건 발표 ICSE: SE 분야 TOP 1 학회 ASE 2013 held in Palo Alto, CA, USA 논문 발표 삼성 논문상 동상 수상 ASE: SE 분야 TOP 3 학회

Recognition of Success of CONBOL at Samsung Electronics 15/23 Bronze Award at Samsung Best Paper Award Oct’s Best Practice Award Team leader Dr. Yoonkyu Jang received Samsung Award of Honor

SWTV group. CS Dept. KAIST Introduction of SWTV group Ph.D Students 16 Topic : Automated testing 2 top intl. journals such as IEEE TSE and FACJ 16 top intl. conf. Including ICSE/FSE/ASE Software system: –Scalable COncolic testing for Relibaility (SCORE) Topic: Concurrency testing J. of Systems and SW, JSTVR, ISSTA’12, ICST’13, ICST’14, etc. Samsung Humantech Bronze award Qualcomm fellowship award Software system: –COncurrent Bug dETection framework (COBET)

SWTV group. CS Dept. KAIST Introduction of SWTV group MS Students Topic : concurrent program testing and symbolic execution Best MS thesis award ICSE 2015 SEIP (top S rank), ICST ‘14 Best paper award at KCSE 2014 Best paper award at KIISE paper competition Qualcomm fellowship award Recent Alumni Topic : automated fault localization Attended ICSE India Preparing OOPSLA 2015 Topic : concolic testing

SWTV group. CS Dept. KAIST Introduction of SWTV group Questions? Comments? 18/14