Creating a Code Inspection Model for Simulation-based Decision Support

Due to the fact that organizations developing software face ever increasing challenges to the quality, costs, and duration of software development, process models are used to understand, document, visualize, plan, and improve the development process. Usually, these models show the static structure of the processes, while the dynamic behavior is difficult to predict. Simulation models of software development processes can help to determine the process dynamics. While most of the simulation models proposed up to now are based on the system dynamics approach, we develop a discrete-event simulation model focusing on the inspection process that allows a more detailed representation of organizational issues, products and resources. In contrast to a system dynamics approach in a discrete-event simulation model, software products (such as code components) and resources (such as developers) are explicitly represented with attributes (e.g., size, skills). In this article we sketch the development of the model, its structure, and the results of selected experiments with the model. The model aims at supporting decision making for introducing and tailoring inspections. The question of which artifacts should be inspected and how inspection activities should be staffed will be discussed. The model considers influences of varying project and context conditions and can therefore be used as a basis for the adaptation to different development environments.

[1]  Lionel C. Briand,et al.  Practical guidelines for measurement-based process improvement , 1996, Softw. Process. Improv. Pract..

[2]  Ioana Rus,et al.  Software process simulation for reliability management , 1999, J. Syst. Softw..

[3]  Raymond J. Madachy System dynamics modeling of an inspection-based process , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[4]  Dietmar Pfahl,et al.  An integrated approach to simulation based learning in support of strategic and project management in software organisations , 2001 .

[5]  Robert G. Ebenau,et al.  Software Inspection Process , 1993 .

[6]  D. Krahl,et al.  The Extend simulation environment , 2000, Proceeding of the 2001 Winter Simulation Conference (Cat. No.01CH37304).

[7]  Oliver Laitenberger,et al.  An encompassing life cycle centric survey of software inspection , 2000, J. Syst. Softw..

[8]  John D. Sterman,et al.  System Dynamics: Systems Thinking and Modeling for a Complex World , 2002 .

[9]  Halbert White,et al.  Connectionist nonparametric regression: Multilayer feedforward networks can learn arbitrary mappings , 1990, Neural Networks.

[10]  A. Sarishvili Neural Network Based Lag Selection, for Multivariate Time Series , 2002 .

[11]  Gerald M. Weinberg,et al.  Quality Software Management Volume 1: Systems Thinking , 1991 .

[12]  Thomas Hanne,et al.  A multiobjective evolutionary algorithm for scheduling and inspection planning in software development projects , 2005, Eur. J. Oper. Res..

[13]  Richard A. Phelps,et al.  SDI Industry: an Extend-based tool for continuous and high-speed manufacturing , 1998, 1998 Winter Simulation Conference. Proceedings (Cat. No.98CH36274).

[14]  John D. Sterman,et al.  Business dynamics : systems thinking and modelling for acomplex world , 2002 .

[15]  Stefan Biffl,et al.  Systematically combining process simulation and empirical data in support of decision analysis in software development , 2002, SEKE '02.

[16]  Thomas Hanne,et al.  Simulation-Based Risk Reduction for Planning Inspections , 2002, PROFES.

[17]  Keith Phalp,et al.  Empirical Studies Applied to Software Process Models , 1999, Empirical Software Engineering.

[18]  James S. Collofello,et al.  Evaluating the effectiveness of process improvements on software development cycle time via system dynamics modelling , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[19]  Dietmar Pfahl,et al.  Integration of system dynamics modelling with descriptive process modelling and goal-oriented measurement , 1999, J. Syst. Softw..

[20]  Ulrike Becker-Kornstaedt Towards Systematic Knowledge Elicitation for Descriptive Software Process Modeling , 2001, PROFES.

[21]  Halbert White,et al.  Learning in Artificial Neural Networks: A Statistical Perspective , 1989, Neural Computation.

[22]  Khaled El Emam,et al.  Quantitative modeling of software reviews in an industrial setting , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[23]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..

[24]  Gerald M. Weinberg,et al.  Handbook of Walkthroughs, Inspections, and Technical Reviews: Evaluating Programs, Projects, and Products , 1990 .

[25]  Mehmet H. Göker Designing Industrial Case-Based Reasoning Applications , 2004, ECCBR.