Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Analyzing and predicting software integration bugs using network analysis on requirements dependency network
Wang J., Wang Q. Requirements Engineering21 (2):161-184,2016.Type:Article
Date Reviewed: Aug 5 2016

When estimating software development projects, most companies are good at computing how much time and money to spend for the design, implementation, and unit test phases. However, when it comes to planning the integration and system test efforts, predictions are usually vague. In my career as a project manager, it happened often that the estimated (and then planned and budgeted) efforts for these phases were too low. Additionally, it was quite hard to predict on what system parts to focus test efforts (time and resources).

Wang and Wang’s attempt to get to more reliable bug density prediction models addresses an extremely important aspect in software project planning: getting realistic cost forecasts, and being able to achieve some accuracy in planning the project’s time and resources in late phases as early as possible.

In the past, one way to try to get to bug prediction models was to predict the verification and validation efforts over different phases using parameters like expected code size or function points, maturity of different parts of the system to be integrated, and so on. Wang and Wang try another way: they take a closer look at the relationships between requirements. They ask the question: Are there any measures on the relationships between requirements that somehow correlate with software bugs that are related to these requirements? And, if so, can these measures be used to predict software bugs, and with what accuracy? And, if this is true again, does this predictability work within one project only, or also between projects, or even between different companies?

For this purpose, they take a closer look at some 20 measures to describe dependencies between requirements. With these measures, they perform experiments in three projects. An example measure is: “How central is a requirement?” That is, how many other requirements depend on a requirement? Intuitively, these are indeed those requirements where I would expect many bugs to be found, hence to plan for adequate validation (testing, and many reviews through the software life cycle, starting as early as possible).

The good news is that, yes, they found some measures. And yes, they proved statistical correlation in their experiments. The even better news: This applies inside one project, between projects in the same organization, and even between companies. Of course the correlation decreases from “one project” to “between companies.”

It is very nice to see that some heuristic assumptions in verification and validation planning (for example, concentrate your validation and verification effort on central requirements upon which many others depend) are also statistically valid. The big plus: One could create upon requirements analysis some statistical model that allows the project owner and project manager to plan the cost for verification and validation more precisely.

The authors mention a very important point: Do not underestimate the effort to obtain these statistical models. In other words, do not expect to switch in any project with hugely increased analysis phases and tricky bug density calculation. In many cases, experience and a rather simple network structure of the requirements fully justify staying with the old heuristic approach to estimate test efforts. Here, I totally agree with the authors.

Wang and Wang’s paper makes a very good contribution to our understanding of where software bugs come from, and how to estimate and plan for their detection and elimination.

Reviewer:  Frank Pospiech Review #: CR144665 (1611-0814)
Bookmark and Share
 
Debugging Aids (D.2.5 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Debugging Aids": Date
Automatic correction and improvement of programs
Wertz H., Halsted Press, New York, NY, 1987. Type: Book (9789780470207642)
Dec 1 1987
Application debugging: an MVS ABEND handbook for COBOL, ASSEMBLY, PL/I, and FORTRAN programmers
Binder R., Prentice-Hall, Inc., Upper Saddle River, NJ, 1985. Type: Book (9789780130393487)
Aug 1 1985
A portable high-level database debugger and software performance monitor
Jankowitz H., Kilfoil P., Rabkin I., Schach S. Software--Practice & Experience 15(6): 523-538, 1985. Type: Article
Jun 1 1986
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy