provable software laboratory

14
Provable Software Laborato ry Moonzoo Kim http://pswlab.kaist.ac.kr

Upload: morty

Post on 09-Jan-2016

51 views

Category:

Documents


0 download

DESCRIPTION

Provable Software Laboratory. Moonzoo Kim http://pswlab.kaist.ac.kr. Motivation: Poor Quality of SW. Main Research Theme. To Improve SW reliability through automated testing - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Provable Software Laboratory

Provable Software

Laboratory

Moonzoo Kimhttp://pswlab.kaist.ac.kr

Page 2: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab 22

Motivation: Poor Quality of SW

Page 3: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab 33/14/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 NetworkHome Network Intelligent Mobile SystemsIntelligent Mobile Systems

Highly Reliable Highly Reliable Software-intensive Software-intensive

SystemsSystems

Intelligent Medical Devices Intelligent Medical Devices

Main Research Theme

Home Service RobotsHome Service Robots

Page 4: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab 44

Remarks by Bill GatesAt 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.”

Page 5: Provable Software Laboratory

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 232 (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

Page 6: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab 66/60/60

• # of test cases required?① 4② 10③ 50④ 100

• # of feasible unique execution paths?• 11 paths• guess what test

cases needed

“Software Testing a craftsman’s approach” 2nd ed by P.C.Jorgensen (no check for positive inputs)

Page 7: Provable Software Laboratory

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

77/14/14

Page 8: Provable Software Laboratory

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

88

Page 9: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab

Backgrounds

• Undergraduate CS classes contributing to this area

Software Software EngineeringEngineering

OK

Counter example(s)

or

System modeling

Requirement properties

System spec. Automated

Testing

Req. spec.

ProgrammingProgrammingLanguagesLanguages

LogicLogic

AlgorithmsAlgorithmsEmbeddedEmbeddedSystemsSystems

•OS•System programming•Cyber physical system•SW Engineering

•Discrete math•Algorithm•PL•Automata

PSW Lab

99/14/14

Page 10: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab

Companies Working on Systematic Testing

1010/14/14

Page 11: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab

Ph.D Students

1111

• 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)

Page 12: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab

MS Students

1212

• Topic : Automated testing & statistical model checking

• Top intl. conf. ICSE

• Best paper award at KCC 2011

Page 13: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab

Visitors

1313

• 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

Page 14: Provable Software Laboratory

Provable SW Lab.

CS Dept. KAIST

Introduction of Provable SW Lab

Questions? Comments?

1414/14/14