Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Effective Testing and Debugging Methods and Its Supporting System with Program Deltas Makoto Matsushita, Masayoshi Teraguchi, and Katsuro Inoue Osaka University."— Presentation transcript:

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

2 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

3 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

4 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

5 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

6 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”

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

8 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

9 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

10 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

11 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

12 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

13 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

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

15 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

16 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

17 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 ? X28251.3-1.4yes Y91101.81-1.88yes Z72701.1-1.46no

18 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 60.0103.010.6 w/ DMET 39.827.239.4 w/ DMET w/o DMET Program elapsed time (min)

19 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 DMET60.0103.0 w/ DMET39.827.2 DMET support effective debugging if the detection is correct

20 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

21 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 ? Z72701.1-1.46no

22 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

23 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”.


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

Similar presentations


Ads by Google