Effective Testing and Debugging Methods and Its Supporting System with Program Deltas Makoto Matsushita, Masayoshi Teraguchi, and Katsuro Inoue Osaka University.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
GUI Testing By Norbert Haché. Contents b What is GUI testing b Elements of GUI testing b Old Approach (TRUMP Project) b Scripting b Capture / Replay b.
Testing and Quality Assurance
1 Accumulative Versioning File System Moraine and Its Application to Metrics Environment Mame Tetsuo Yamamoto * Makoto Matsushita * Katsuro Inoue *,**
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Programming System development life cycle Life cycle of a program
Get number The ginput command creates crosshairs. When the user clicks the x,y values of the crosshairs are returned.
SE 450 Software Processes & Product Metrics Software Metrics Overview.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University A Prototype of.
Chapter 1 Assuming the Role of the Systems Analyst
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Program Development and Programming Languages
AFID: An Automated Fault Identification Tool Alex Edwards Sean Tucker Sébastien Worms Rahul Vaidya Brian Demsky.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
Compiling and Linking. Compiling is quite the same as creating an executable file! Instead, creating an executable is a multistage process divided into.
Automated Diagnosis of Software Configuration Errors
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.
Introduction to Programming Prof. Rommel Anthony Palomino Department of Computer Science and Information Technology Spring 2011.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
Software Configuration Management
Understand Application Lifecycle Management
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
An Adaptive Version-Controlled File System Makoto Matsushita, Tetsuo Yamamoto and Katsuro Inoue Osaka University, JAPAN.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin and Jianjun Zhao Shanghai Jiao Tong University.
Introduction to Java August 14, 2008 Mrs. C. Furman.
Configuration Management (CM)
Designing and Debugging Batch and Interactive COBOL Programs Chapter 5.
WebVizOr: A Fault Detection Visualization Tool for Web Applications Goal: Illustrate and evaluate the uses of WebVizOr, a new tool to aid web application.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
Lecture 3 Software Engineering Models (Cont.)
CMAQ Runtime Performance as Affected by Number of Processors and NFS Writes Patricia A. Bresnahan, a * Ahmed Ibrahim b, Jesse Bash a and David Miller a.
Software Quality Assurance
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Anqi Xu, Gabriel Charette, Junaed Sattar, Gregory Dudek McGill University, Canada Thursday, May 6 th, 2010.
Debugging Strategies from Software Carpentry. Agan's Rules Many people make debugging harder than it needs to be by: Using inadequate tools Not going.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Topics Covered Phase 1: Preliminary investigation Phase 1: Preliminary investigation Phase 2: Feasibility Study Phase 2: Feasibility Study Phase 3: System.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Compiler Construction (CS-636)
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
+ Moving Targets: Security and Rapid-Release in Firefox Presented by Carlos Bernal-Cárdenas.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
Making the System Operational Implementation & Deployment
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
Bogor-Java Environment for Eclipse MSE Presentation III Yong Peng.
Chapter 1 Assuming the Role of the Systems Analyst.
Slide title :40-47pt Slide subtitle :26-30pt Color::white Corporate Font : FrutigerNext LT Medium Font to be used by customers and partners : Arial HUAWEI.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Estimating Code Size After a Complete Code-Clone Merge Buford Edwards III, Yuhao Wu, Makoto Matsushita, Katsuro Inoue 1 Graduate School of Information.
Information Systems Development
Maintaining software solutions
Some Important Techniques For Regression Testing That You Must Know.
Important Software Performance Testing That Ensure High Quality Solutions.
Information Systems Development
Introduction to Systems Analysis and Design
Making the System Operational Implementation & Deployment
Case Study on requirements, design, and evaluation: NATS
Research Activities of Software Engineering Lab in Osaka University
Chapter 15 Debugging.
Presentation transcript:

Effective Testing and Debugging Methods and Its Supporting System with Program Deltas Makoto Matsushita, Masayoshi Teraguchi, and Katsuro Inoue Osaka University

ISFST2000 at Kanazawa Nov/02/2000 Page 2 Software Maintenance Software maintenance procedures –Code modification to apply changes of specs –Regression testing and debugging if any bugs Supporting tools for software maintenance Version management system (VMS) Regression testing tool

ISFST2000 at Kanazawa Nov/02/2000 Page 3 Debugging with Program Deltas It is hard to debug features which are not changed during maintenance Debugging with a code differences (deltas) Using test results of each version The deltas may contain some bugs

ISFST2000 at Kanazawa Nov/02/2000 Page 4 Ness and Ngo: Regression Containment Using VMS and testing tool Correct output (○) and wrong output (×) doesn’t appear by turns Only a single “wrong” case Only removes codes; no debugging

ISFST2000 at Kanazawa Nov/02/2000 Page 5 Zeller: Delta Debugging Using test tool (no VMS is required) Assumes “core” ( △ ) output Can’t consider development sequences Only two “wrong” cases ( △ and ×) Only analysis; no debugging

ISFST2000 at Kanazawa Nov/02/2000 Page 6 Our Research Objectives An improved method with program deltas –Consider more “wrong” cases –Support actual debugging activities Debugging methods “DMET”, and its supporting environment “DSUS”

ISFST2000 at Kanazawa Nov/02/2000 Page 7 Today’s topic Our debugging method “DMET” “DSUS” supporting environment DMET evaluation with DSUS prototype Conclusion

ISFST2000 at Kanazawa Nov/02/2000 Page 8 An approach of DMET DMET is composed of three phases: –Detection: a program delta (may contains some bugs) to be detected –Indication: show a delta with latest code –Reflection: apply modification to old versions

ISFST2000 at Kanazawa Nov/02/2000 Page 9 DMET: Detection Phase Using VMS and testing tools Assumes wrong output ( - ) which is different from the one of latest version Detect the last correct output and the oldest wrong output

ISFST2000 at Kanazawa Nov/02/2000 Page 10 DMET: Indication Phase Program deltas are arranged as “removed” and “added” program codes Detected deltas (maybe in older version) are mapped to the latest version

ISFST2000 at Kanazawa Nov/02/2000 Page 11 DMET: Reflection Phase Modification to the latest version are also applied to older versions –if application causes some errors, remove error version from test sequence –new sequence are used for further testing

ISFST2000 at Kanazawa Nov/02/2000 Page 12 Supporting System DSUS A GUI-based SDE for debugging –Program editors –Compile, Execute a program Cooperates other tools –RCS for version management system –DejaGnu for testing tools Auto-execution support –check-in/check-out, regression testing –three DMET procedures

ISFST2000 at Kanazawa Nov/02/2000 Page 13 System Configuration GUI: user interaction DSUS main : integration of other components RCS: wrapper for RCS commands DejaGnu: wrapper for DejaGnu commands

ISFST2000 at Kanazawa Nov/02/2000 Page 14 DSUS Screenshot

ISFST2000 at Kanazawa Nov/02/2000 Page 15 DSUS Evaluation Two experimentations –Experimentation A: correcting programs which contain bugs in unchanged potion of program –Experimentation B: debug programs corrected by experimentation A Preparation –Program specification and its program –Requirements for the new program –Test data

ISFST2000 at Kanazawa Nov/02/2000 Page 16 Experimentation Procedures Experimentation A –Apply new requirement to a (prepared) program –Correct programs which has a bug in unchanged portion of the program Experimentation B –Debug program collected in exp. A –Subjects are divided into two groups debugging without DMET debugging with DMET –Compare Elapsed time of debugging

ISFST2000 at Kanazawa Nov/02/2000 Page 17 Results of experiment A Three programs are collected DMET detects bugs in two programs; however, detected deltas of program Z doesn’t contain a bug Program# of vers# of testdeltasdetected ? X yes Y yes Z no

ISFST2000 at Kanazawa Nov/02/2000 Page 18 Results of experiment B Debugging time is reduced in X and Y, which bug is detected correctly. XYZ w/o DMET w/ DMET w/ DMET w/o DMET Program elapsed time (min)

ISFST2000 at Kanazawa Nov/02/2000 Page 19 Results of experiment B (cont.) According to Welch’s test (5 percents differences), a significant difference of X+Y between both groups is detected elapsed timeX+Y+ZX+Y w/o DMET w/ DMET DMET support effective debugging if the detection is correct

ISFST2000 at Kanazawa Nov/02/2000 Page 20 Discussion In program Z, elapsed time of w/ DMET takes longer time than w/o DMET –A bug in program Z is the case that DMET doesn’t consider; it is caused since some modification should be needed –DMET generates wrong deltas –Testees are confused with deltas

ISFST2000 at Kanazawa Nov/02/2000 Page 21 Discussion (cont.) However, we may estimate that the deltas truly contains a bug since it’s doubtful that: –the distance of deltas is longer, compared with total numbers of version –the delta contains the “base version (1.1)” program# of vers# of testdeltasdetected ? Z no

ISFST2000 at Kanazawa Nov/02/2000 Page 22 Conclusion DMET contributes to reduce debugging costs of the engineers, if the detected program delta contains bugs DMET doesn’t consider all cases, it may generates wrong delta –If wrong delta, debugging takes longer time –However, it can be estimated

ISFST2000 at Kanazawa Nov/02/2000 Page 23 Further Research Topics Some estimation methods for checking DMET deltas If the delta seems wrong, DSUS shows to the engineers that it maybe wrong. DMET extension for new programs Current DMET assumes that “base version” exists and it is correct. New program have no “base version”.