Comparing the Defect Reduction Benefits of Code Inspection and Test-Driven Development ,done by s1340691 Eshwar Ariyanathan

Introduction to key terms :

1)Test Driven development(TDD) : It is a agile software development methodology where the test cases are written first before the actual code gets written. This enables the developer to re factor the code and find bugs in the code in the initial stage of the development process.

2)Code Inspection(CI): It is a process of software inspection where experts analyse the source code to look for any bugs or errors in the source code and then rework is done by developers to correct the source code.

Authors:

Wilkerson, J.W.

Sam & Irene Black Sch. of Bus., Pennsylvania State

Univ., Erie, PA, USA

Nunamaker, J.F., Jr. ; Mercer, R , “Comparing the Defect Reduction Benefits of Code Inspection and Test-

Driven Development,” IEEE Transactions on Software

Engineering, vol. 38, no. 3, pp. 547-560, May-June

2012, doi:10.1109/TSE.2011.46

PREVIOUS WORK:

1) The previous research work shows that the code inspection has been researched on a lot of scenarios and industrial applications and has been shown to have superior results in terms of testing practices.

2) The scientists working on agile methodologies have a claim that Test Driven Development is a better approach of testing.

RESEARCH QUESTION:

To find out whether Test Driven Development(TDD) is a better approach or Code Inspection(CI) is a better approach of testing.

SUMMARY OF THE RESEARCH DONE:

The experiment was based on a programming assignment on spam filter in Java which was done by 40 undergraduate students. The students were divided into four groups for testing namely TDD group, CI group, TDD+CI group and last group which neither used TDD not CI for testing.

The result on final analysis taken into account had only 29 students and the others left before the assignment was over.

Code inspections were also performed by the same group of students using online collaborative tool. The students were given training for coding using Junit before the experiment was conducted.

The total defects found by TDD group and CI group were compared and analysed for producing the experimental results.

RESULTS PRODUCED FROM EXPERIMENTS:

*Code inspection was better at reducing defects when compared with Test driven development

*Code inspection + TDD was producing better results but not statistically .

*Code inspection was slower than TDD approach in finding the defects.

*TDD has to clearly defined as the procedure takes in a lot of comparisons and variations everyday.

DISAGREEING ARGUMENTS:

I have a lot of disagreeing points regarding the experimental results and the method employed for the experiment.

Firstly , the experiment concludes that Code inspection is better than TDD in terms of defect reduction.

I do not agree with this point because it has been given with just one programming assignment which is less than 600 lines of code and there are no sufficient justifications as to why Code inspection is better.

Secondly, the experiment is done with students of a university with varying levels of ability.

So my claim is that how can we accept a result from people who are neither experts in the field nor do they have done sufficient research to prove the validity of the experiment.

Thirdly, the time taken for the experiment is a week (less than a month in research standards.) When the time taken for an experiment is very less then jumping to conclusions is not at all acceptable.

My next point is that regarding test driven development the students who performed the experiment were just beginners.

They were just given some tutorial and lectures regarding JUnit before the experiment was performed. Clearly the students involved in the experiment were not experts in testing using JUnit.

My next argument is that the result states that Code inspection was able to detect 23% defects compared to 11%defects of TDD. But they have not mentioned as to what type of defects were being found out by the TDD group or the Code inspection group.

The other important point to be noted is that the students involved in the experiment were of varying levels of ability with respect to programming and methods of testing. So the deviation in results produced might have also happened because the students doing code inspection were better

testers compared to that of those who did Test driven development.

So the results from a small experiment done with people who were not experts and done in very less time without any background and without any clear set of parameters cannot be considered as a valid result.

But this experiment could be considered as a spark so that industry could take on with further research in this field to prove the effective approaches of testing.

CONCLUSIONS:

My conclusions are that the research working regarding this testing using should proceed with testing experts both in TDD and code inspection and should be done in controlled manner with sufficient amount of time.

The future research should also take in to account of different parameters involved with testing and on varying lines and complexity of code and then come to conclusion in finding a superior method of testing.

So as far as this research paper is concerned i am not agreeing with either the approach or the results obtained.

REFERENCES:

[1] G. Tassey, “The Economic Impact of Inadequate Infrastructure for Software Testing,” technical report, Nat’l Inst. of Standards and Tech nology, 2002.

[2] B. George and L. Williams, “A Structured Experiment of Test-Driven Development,” Information and Software Technology, vol. 46, no. 5, pp. 337-342, 2004.

[3] E.M. Maximilien and L. Williams, “Assessing Test-Driven Development at IBM,” Proc. 25th Int’l Conf.

Software Eng., pp. 564-9, 2003.

[4] D.L. Parnas and M. Lawford, “The Role of

Inspections in Software Quality Assurance,” IEEE Trans. Software Eng., vol. 29, no. 8, pp. 674-676, Aug.

2003.

[5] F. Shull, V.R. Basili, B.W. Boehm, A.W. Brown, P.

Costa, M. Lindvall, D. Port, I. Rus, R. Tesoriero, and M.

Zelkowitz, “What We Have Learned about Fighting Defects,” Proc. Eighth IEEE Symp. Software Metrics, pp. 249-58, 2002.

[6] M.E. Fagan, “Design and Code Inspections to Reduce Errors in Program Development,” IBM Systems J., vol. 15, no. 3, pp. 182-211, 1976.

[7] N. Nagappan, M.E. Maximilien, T. Bhat, and L.

Williams, “Realizing Quality Improvement through Test Driven Development: Results and Experiences of Four Industrial Teams,” Empirical Software Eng., vol. 13, no.

3, pp. 289-302, 2008.

2 thoughts on “Comparing the Defect Reduction Benefits of Code Inspection and Test-Driven Development ,done by s1340691 Eshwar Ariyanathan”

  1. sirsome skin cells are generally not editable. how can we revise these individuals Its Excellent Computer software,,,,, It has the very helpful. Please suggest with regard to editing a selection of “Person in control of Sighning”.

Comments are closed.