Presentation is loading. Please wait.

Presentation is loading. Please wait.

Provable Software Laboratory Moonzoo Kim

Similar presentations


Presentation on theme: "Provable Software Laboratory Moonzoo Kim"— Presentation transcript:

1 Provable Software Laboratory Moonzoo Kim http://pswlab.kaist.ac.kr

2 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab 2 Motivation: Poor Quality of SW

3 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab 3/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

4 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab 4 Remarks by Bill Gates At OOPSLA, November 8, 2002 “… When you look at a big commercial software company like Microsoft, there's actually as much testing that goes in as development. 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've probably changed the industry we're in. 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.”

5 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab 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

6 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab 6/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)

7 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab 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 systems” @ EPFL –OSDI 2008 Best paper “Klee: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs” @ Stanford –NSDI 2007 Best paper “Life, Death, and the Critical Transition: Finding Liveness Bugs in Systems Code” @ U.C. San Diego 7/14

8 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab Systematic Analysis as a Foundational and Promising CS Research 2008 ACM Turing Awardees: For the contribution of migrating from pure research to industrial reality –Prof. Edmund Clarke –Dr. Joseph Sipfakis –Prof. E. Allen Emerson One of the four main areas of Microsoft Research 8

9 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab Backgrounds Undergraduate CS classes contributing to this area SoftwareEngineering OK Counter example(s) or System modeling Requirement properties  System spec. Automated Testing Req. spec. ProgrammingLanguages Logic Algorithms EmbeddedSystems OS System programming Cyber physical system SW Engineering Discrete math Algorithm PL Automata PSW Lab 9/14

10 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab Companies Working on Systematic Testing 10/14

11 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab Ph.D Students 11 Topic : Automated testing 2 top intl. journals such as IEEE TSE and FACJ 13 top intl. conf. including ICSE/FSE/ASE Software system: –Scalable COncolic testing for Relibaility (SCORE) Topic: Concurrency testing Best paper award at KCSE 2009 Samsung Humantech Bronze Award Software system: –COncurrent Bug dETection framework (COBET)

12 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab MS Students 12 Topic : Automated testing & statistical model checking Top intl. conf. ICSE Best paper award at KCC 2011

13 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab Visitors 13 Top researcher at software testing area –Ranked a top researcher on SE by CACM v50 issue 6 Joint research on software testing since 2010 Topic: Test oracle and empirical study Best paper awardee at ICSE 2011

14 Provable SW Lab. CS Dept. KAIST Introduction of Provable SW Lab Questions? Comments? 14/14


Download ppt "Provable Software Laboratory Moonzoo Kim"

Similar presentations


Ads by Google