6ef9f78a67c3074c55535945dd4b7644.ppt
- Количество слайдов: 14
Provable Software Laboratory Moonzoo Kim http: //pswlab. kaist. ac. kr
Motivation: Poor Quality of SW Introduction of Provable SW Lab 2 Provable SW Lab. CS Dept. KAIST
Main Research Theme • 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 Service Robots Intelligent Medical Devices Home Network Intelligent Mobile Systems Highly Reliable Software-intensive Systems Introduction of Provable SW Lab 3/14 Provable SW Lab. CS Dept. KAIST
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. ” Introduction of Provable SW Lab. CS Dept. KAIST 4
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 Introduction of Provable SW Lab. CS Dept. KAIST
• # of test cases required? ① 4 ② 10 ③ 50 ④ 100 • # of feasible unique execution paths? • 11 paths • guess what test cases needed Introduction of Provable SW Lab “Software Testing a craftsman’s approach” 2 nd ed by P. C. Jorgensen (no check for positive inputs) 6/60 Provable SW Lab. CS Dept. KAIST
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 • “S 2 E: 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 Introduction of Provable SW Lab 7/14 Provable SW Lab. CS Dept. KAIST
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 Introduction of Provable SW Lab 8 Provable SW Lab. CS Dept. KAIST
Backgrounds • Undergraduate CS classes contributing to this area • Discrete math • Algorithm • PL • Automata Embedded Systems PSW Lab Software Engineering Programming Languages System modeling Requirement properties Introduction of Provable SW Lab • OS • System programming • Cyber physical system • SW Engineering Algorithms System spec. Req. spec. Automated Testing Logic (F 9/14 W) Counter example(s) Provable SW Lab. CS Dept. KAIST OK or
Companies Working on Systematic Testing Introduction of Provable SW Lab 10/14 Provable SW Lab. CS Dept. KAIST
Ph. D Students • • Introduction of Provable SW Lab 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 d. ETection framework (COBET) 11 Provable SW Lab. CS Dept. KAIST
MS Students • • • Introduction of Provable SW Lab 12 Topic : Automated testing & statistical model checking Top intl. conf. ICSE Best paper award at KCC 2011 Provable SW Lab. CS Dept. KAIST
Visitors • • Top researcher at software testing area – Ranked a top researcher on SE by CACM v 50 issue 6 Joint research on software testing since 2010 • • Introduction of Provable SW Lab 13 Topic: Test oracle and empirical study Best paper awardee at ICSE 2011 Provable SW Lab. CS Dept. KAIST
Questions? Comments? Introduction of Provable SW Lab 14/14 Provable SW Lab. CS Dept. KAIST
6ef9f78a67c3074c55535945dd4b7644.ppt