Processing math: 100%
We use cookies to improve your experience with our site.

Indexed in:

SCIE, EI, Scopus, INSPEC, DBLP, CSCD, etc.

Submission System
(Author / Reviewer / Editor)
Piotr Tomaszewski, Lars Lundberg, Haa kan Grahn. Improving Fault Detection in Modified Code --- A Study from the Telecommunication Industry[J]. Journal of Computer Science and Technology, 2007, 22(3): 397-409.
Citation: Piotr Tomaszewski, Lars Lundberg, Haa kan Grahn. Improving Fault Detection in Modified Code --- A Study from the Telecommunication Industry[J]. Journal of Computer Science and Technology, 2007, 22(3): 397-409.

Improving Fault Detection in Modified Code --- A Study from the Telecommunication Industry

More Information
  • Received Date: March 14, 2006
  • Revised Date: February 14, 2007
  • Published Date: May 14, 2007
  • Many software systems are developed in a number ofconsecutive releases. In each release not only new code is added butalso existing code is often modified. In this study we show that themodified code can be an important source of faults. Faults are widelyrecognized as one of the major cost drivers in software projects.Therefore, we look for methods that improve the fault detection in themodified code. We propose and evaluate a number of prediction modelsthat increase the efficiency of fault detection. To build and evaluateour models we use data collected from two large telecommunicationsystems produced by Ericsson. We evaluate the performance of our modelsby applying them both to a different release of the system than the onethey are built on and to a different system. The performance of ourmodels is compared to the performance of the theoretical best model, asimple model based on size, as well as to analyzing the code in arandom order (not using any model). We find that the use of our modelsprovides a significant improvement over not using any model at all andover using a simple model based on the class size. The gain offered byour models corresponds to 38~57% of the theoretical maximum gain.
  • [1]
    Sommerville I. Software Engineering. Boston: Addison-Wesley, 2004.
    [2]
    Cartwright M, Shepperd M. An empirical investigation of an object-oriented software system. -\it IEEE Trans. Software Engineering}, 2000, 26(8): 786796.
    [3]
    Boehm B, Basili V R. Software defect reduction top 10 list. -\it Computer}, 2001, 34: 135137.
    [4]
    Fenton N, Ohlsson N. Quantitative analysis of faults and failures in a complex software system. -\it IEEE Trans. Software Engineering}, 2000, 26(8): 797814.
    [5]
    Ohlsson N, Eriksson A C, Helander M. Early risk-management by identification of fault-prone modules. -\it Empirical Software Engineering}, 1997, 2(2): 166173.
    [6]
    Briand L C, Wust J, Daly J W, Porter D W. Exploring the relationship between design measures and software quality in object-oriented systems. -\it The Journal of Systems and Software}, 2000, 51(3): 245273.
    [7]
    Briand L C, Wust J, Ikonomovski S V \it et al. \rm Investigating quality factors in object-oriented designs: An industrial case study. In -\it Proc. the 1999 Int. Conf. Software Eng.}, Los Angeles, USA, 1999, pp.345354.
    [8]
    K El Emam, W L Melo, J C Machado. The prediction of faulty classes using object-oriented design metrics. -\it The Journal of Systems and Software}, 2001, 56(1): 6375.
    [9]
    Tomaszewski P, Lundberg L, Grahn H. Increasing the efficiency of fault detection in modified code. In -\it Proc. Asia Pacific Software Engineering Conference}, Taipei, 2005, pp.421430.
    [10]
    Zhao M, Wohlin C, Ohlsson N, Xie M. A comparison between software design and code metrics for the prediction of software fault content. -\it Information and Software Technology}, 1998, 40(14): 801809.
    [11]
    Pighin M, Marzona A. An empirical analysis of fault persistence through software releases. In -\it Proc. the Int. Symp. Empirical Software Engineering}, Rome, Italy, 2003, pp.206212.
    [12]
    Pighin M, Marzona A. Reducing corrective maintenance effort considering module's history. In -\it Proc. Ninth European Conference on Software Maintenance and Reengineering}, Manchester, UK, 2005, pp.232235.
    [13]
    Selby R W. Empirically based analysis of failures in software systems. -\it IEEE Trans. Reliability}, 1990, 39(4): 444454.
    [14]
    Gascoyne S. Productivity improvements in software testing with test automation. -\it Electronic Engineering}, 2000, 72(885): 6567.
    [15]
    A Gunes Koru, J Tian. An empirical comparison and characterization of high defect and high complexity modules. -\it Journal of Systems and Software}, 2003, 67(3): 153163.
    [16]
    Khoshgoftaar T M, Allen E B, Deng J. Controlling overfitting in software quality models: Experiments with regression trees and classification. In -\it Proc. The 7th Int. Software Metrics Symposium}, London, UK, 2001, pp.190198.
    [17]
    Khoshgoftaar T M, Allen E B, Jianyu D. Using regression trees to classify fault-prone software modules. -\it IEEE Trans. Reliability}, 2002, 51(4): 455462.
    [18]
    Khoshgoftaar T M, Allen E B, Jones W D, Hudepohl J P. Accuracy of software quality models over multiple releases. -\it Annals of Software Engineering}, 2000, 9(1-4): 103116.
    [19]
    Khoshgoftaar T M, Seliya N. Fault prediction modeling for software quality estimation: Comparing commonly used techniques. -\it Empirical Software Engineering}, 2003, 8(3): 255283.
    [20]
    Ohlsson N, Zhao M, Helander M. Application of multivariate analysis for software fault prediction. -\it Software Quality Journal}, 1998, 7(1): 5166.
    [21]
    Tomaszewski P, H\aa kansson J, Lundberg L, Grahn H. The accuracy of fault prediction in modified code --Statistical model vs. expert estimation. In -\it Proc. 13th Annual IEEE Int. Conf. and Workshop on the Engineering of Computer Based Systems}, Potsdam, Germany, 2006, pp.334343.
    [22]
    Chidamber S R, Darcy D P, Kemerer C F. Managerial use of metrics for object-oriented software: An exploratory analysis. -\it IEEE Trans. Software Engineering}, 1998, 24(8): 629639.
    [23]
    Nikora A P, Munson J C. Developing fault predictors for evolving software systems. In -\it Proc. The Ninth Int. Software Metrics Symposium}, Sydney, Australia, 2003, pp.338349.
    [24]
    Ostrand T J, Weyuker E J, Bell R M. Predicting the location and number of faults in large software systems. -\it IEEE Trans. Software Engineering}, 2005, 31(4): 340355.
    [25]
    Yu P, Systa T, Muller H. Predicting fault-proneness using OO metrics. An industrial case study. In -\it Proc. The Sixth European Conference on Software Maintenance and Reengineering}, Budapest, Hungary, 2002, pp.99107.
    [26]
    Chidamber S R, Kemerer C F. A metrics suite for object oriented design. -\it IEEE Trans. Software Engineering}, 1994, 20(6): 476494.
    [27]
    Fioravanti F, Nesi P. A study on fault-proneness detection of object-oriented systems. In -\it Proc. Fifth European Conf. Software Maintenance and Reengineering}, Lisbon, Portugal, 2001, pp.121130.
    [28]
    Fenton N, Neil M. A critique of software defect prediction models. -\it IEEE Trans. Software Engineering}, 1999, 25(5): 675689.
    [29]
    Keppel G. Design and Analysis: A Researcher's Handbook. Upper Saddle River: Prentice Hall, NJ, 2004.
    [30]
    Milton J S, Arnold J C. Introduction to Probability and Statistics: Principles and Applications for Engineering and the Computing Sciences. Boston: McGraw-Hill, 2003.
    [31]
    Nagappan N, Ball T. Use of relative code churn measures to predict system defect density. In -\it Proc. the 27th Int. Conf. Software Engineering}, St. Louis, USA, 2005, pp.284292.
    [32]
    Munson J C, Elbaum S G. Code churn: A measure for estimating the impact of code change. In -\it Proc. the Int. Conf. Software Maintenance}, Bethesda, USA, 1998, pp.2431.
    [33]
    Graham I. Migrating to Object Technology. Wokingham, England; Reading, Mass.: Addison-Wesley Pub. Co., 1995.
    [34]
    Henderson-Sellers B, Constantine L L, Graham I M. Coupling and cohesion (towards a valid metrics suite for object-oriented analysis and design). -\it Object Oriented Systems}, 1996, 3(3): 143158.
    [35]
    Scientific Toolworks Inc. Understand C++ Homepage. Last accessed on 2006-03-13.
    [36]
    LOCC Project Homepage. The Collaborative Software Development Laboratory. University of Hawaii, USA, last accessed on 2005-11-10, http://csdl.ics.hawaii.edu/Tools/LOCC/.
    [37]
    Kitchenham B, Pickard L, Pfleeger S L. Case studies for method and tool evaluation. -\it IEEE Software}, 1995, 12(4): 5262.
    [38]
    Kitchenham B A, Pfleeger S L, Pickard L M \it et al. \rm Preliminary guidelines for empirical research in software engineering. -\it IEEE Trans. Software Engineering}, 2002, 28(8): 721.
    [39]
    Wohlin C, Runeson P, H\"ost M \it et al. \rm Experimentation in Software Engineering: An Introduction. Boston: Kluwer, 2000.
    [40]
    Rees D G. Essential Statistics, London; New York: Chapman \& Hall, 1995.
    [41]
    SPSS Inc., SPSS Package Homepage, http://www.spss.com/, last accessed on 2006-03-13.
    [42]
    Aczel A D, Sounderpandian J. Complete Business Statistics. Boston: McGraw-Hill, 2006.
    [43]
    Host M, Regnell B, Wohlin C. Using students as subjects---A comparative study of students and professionals in lead-time impact assessment. -\it Empirical Software Engineering}, 2000, 5(3): 201214.

Catalog

    Article views (22) PDF downloads (4471) Cited by()
    Related

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return