This chapter aims to raise awareness about the usefulness and importance of simulation in support of software engineering. Simulation is applied in many critical engineering areas and enables one to address issues before they become problems. Simulation – in particular process simulation – is a state of the art technology to analyze process behaviour, risks and complex systems with their inherent uncertainties. Simulation provides insights into the designs of development processes and projects before significant time and cost has been invested, and can be of great benefit in support of training. The systematic combination of simulation methods with empirical research has the potential for becoming a powerful tool in applied software engineering research. The creation of virtual software engineering laboratories helps to allocate available resources of both industry and academia more effectively.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abdel-Hamid TK (1993) Adapting, Correcting and Perfecting Software Estimates: a Maintenance Metaphor. IEEE Computer 20–29.
Abdel-Hamid TK, Madnick SE (1991) Software Projects Dynamics–an Integrated Approach, Prentice-Hall, Englewood Cliffs, NJ.
Andersson C, Karlsson L, Nedstam J, Höst M, Nilsson BI (2002) Understanding Software Processes through System Dynamics Simulation: A Case Study, In: Proceedings of 9th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, pp 41–48.
Aranda RR, Fiddaman T, Oliva R (1993) Quality Microworlds: Modeling the Impact of Quality Initiatives Over the Software Product Life Cycle. American Programmer 52–61.
Balci O (2003) Verification, Validation, and Certification of Modelling and Simulation Applications. In: Proceedings of the 2003 Winter Simulation Conference, pp 150–158.
Bandinelli S, Fuggetta A, Lavazza L, Loi M, Picco GP (1995) Modeling and Improving an Industrial Software Process. IEEE Transactions on Software Engineering 21(5): 440–453.
Banks J, Carson JS, Nelson BL (2000) Discrete-Event System Simulation, 3rd edn, MOUS Test Preparation Guides Series, Prentice-Hall, New York.
Barlas Y (1989) Multiple Tests for Validation of System Dynamics Type of Simulation Models. European Journal of Operational Research 42: 59–87.
Birk A, Dingsøyr T, Stålhane T (2002) Postmortem: Never Leave a Project without It. IEEE Software 19(3): 43–45.
Birkhölzer T, Dantas L, Dickmann C, Vaupel J (2004) Interactive Simulation of Software Producing Organization’s Operations based on Concepts of CMMI and Balanced Scorecards. In: Proceedings 5th International Workshop on Software Process Simulation Modeling (ProSim), Edinburgh, Scotland, pp 123–132.
Briand LC, Pfahl D (2000) Using Simulation for Assessing the Real Impact of Test-Coverage on Defect-Coverage. IEEE Transactions on Reliability 49(1): 60–70.
Briand LC, Labiche Y, Wang Y (2004) Using Simulation to Empirically Investigate Test Coverage Criteria Based on Statechart. In: Proceedings of International Conference on Software Engineering (ICSE), pp 86–95.
Cartwright M, Shepperd M (1999) On Building Dynamic Models of Maintenance Behavior. In: Kusters R, Cowderoy A, Heemstra F, van Veenendaal E. (eds.) Project Control for Software Quality, Shaker Publishing, Maastricht.
Cellier FE (1991) Continuous System Modeling, Springer Press, New York.
Chen Y, Gannod GC, Collofello JS (2005) A Software Product Line Process Simulator. In: Proceedings of 6th International Workshop on Software Process Simulation and Modeling (ProSim), pp 102–109.
Choi SJ, Scacchi W (2001) Modeling and Simulating Software Acquisition Process Architectures. Journal of Systems and Software 59(3): 343–354.
Christie AM (1999a) Simulation: An Enabling Technology in Software Engineering. CROSSTALK–The Journal of Defense Software Engineering 12(4): 25–30.
Christie AM (1999b) Simulation in Support of CMM-Based Process Improvement. Journal of Systems and Software 46(2/3): 107–112.
Christie AM, Staley MJ (2000) Organizational and Social Simulation of a Requirements Development Process. Software Process Improvement and Practice 5: 103–110.
Coyle RG (1996) System Dynamics Modelling–A Practical Approach, Chapman & Hall, London.
Dantas A, de Oliveira Barros M, Lima Werner CM (2004) A Simulation-Based Game for Project Management Experiential Learning. In: Proceedings of 16th International Conference on Software Engineering & Knowledge Engineering (SEKE), pp 19–24.
Drappa A, Ludewig J (1999) Quantitative Modeling for the Interactive Simulation of Software Projects. Journal of Systems and Software 46(2/3): 113–122.
Drappa A, Deininger M, Ludewig J (1995) Modeling and Simulation of Software Projects. In: Proceedings of 20th Annual Software Engineering Workshop, Greenbelt, MD, USA, pp 269–275.
Extend (2006) http://www.imaginethatinc.com/ (accessed on March 22, 2006).
Fernström C (1993) PROCESS WEAVER: Adding Process Support to UNIX. In: Proceedings of 2nd International Conference on the Software Process (ICSP), pp 12–26.
Ferreira S, Collofello J, Shunk D, Mackulak G, Wolfe P (2003) Utilization of Process Modeling and Simulation in Understanding the Effects of Requirements Volatility in Software Development. In: Proceedings 4th Software Process Simulation Modeling Workshop (ProSim), Portland, USA.
Forrester JW (1961) Industrial Dynamics. Productivity Press, Cambridge.
Forrester JW, Senge P (1980) Tests for Building Confidence in System Dynamics Models. In: Forrester JW et al. (eds.) System Dynamics, North-Holland, New York.
Gruhn V, Saalmann A (1992) Software Process Validation Based on FUNSOFT Nets. In Proceedings of 2nd European Workshop on Software Process Technology (EWSPT), pp 223–226.
Häberlein T (2003) A Framework for System Dynamic Models of Software Acquisition Projects. In: Proceedings 4th Software Process Simulation Modeling Workshop (ProSim), Portland, USA.
Häberlein T, Gantner T (2002) Process-Oriented Interactive Simulation of Software Acquisition Projects. In: Proceedings of First EurAsian Conference on Information and Communication Technology (EurAsia-ICT), LNCS 2510, Shiraz, Iran, pp 806–815.
Höst M, Regnell B, Dag J, Nedstam J, Nyberg C (2001) Exploring Bootlenecks in Market-Driven Requirements Management Processes with Discrete Event Simulation. Journal of Systems and Software 59(3): 323–332.
Houston DX (2003) A Case Study in Software Enhancements as Six Sigma Process Improvements: Simulating Productivity Savings. In: Proceedings of 4th Software Process Simulation Modeling Workshop (ProSim), Portland, USA.
Houston DX, Mackulak GT, Collofello JS (2001) Stochastic Simulation of Risk Factor Potential Effects for Software Development Risk Management. Journal of Systems and Software 59(3): 247–257.
Huang Y, Madey GR (2005) Autonomic Web-Based Simulation. In: Proceedings of Annual Simulation Symposium 2005, pp 160–167.
Humphrey WS, Kellner MI (1989) Software Process Modeling: Principles of Entity Process Models. In: Proceedings of 11th International Conference on Software Engineering (ICSE), Pittsburg, PA, USA, pp 331–342.
Kellner MI, Hansen GA (1989) Software Process Modeling: A Case Study. In: Proceedings of 22nd Annual Hawaii International Conference on System Sciences, Vol. II–Software Track, pp 175–188.
Kellner MI, Madachy RJ, Raffo DM (1999) Software Process Simulation Modeling: Why? What? How?. Journal of Systems and Software 46(2/3): 91–105.
Kuipers B (1986) Qualitative Simulation. Artificial Intelligence 29(3): 289–338.
Kuppuswami S, Vivekanandan K, Rodrigues P (2003) A System Dynamics Simulation Model to Find the Effects of XP on Cost of Change Curve. In: Proceedings of 4th International Conference on Extreme Programming and Agile Processes in Software Engineering (XP), LNCS 2675, pp 54–62.
Lane DC (1995) On a Resurgence of Management Simulation Games. Journal of the Operational Research Society 46: 604–625.
Law A, Kelton WD (1999) Simulation Modeling and Analysis, 3rd edn, McGraw-Hill, New York.
Lee B, Miller J (2004) Multi-Project Management in Software Engineering Using Simulation Modeling. Software Quality Journal 12: 59–82.
Lerch FJ, Ballou DJ, Harter DE (1997) Using Simulation-Based Experiments for Software Requirements Engineering. Annals of Software Engineering 3: 345–366.
Lin CY, Abdel-Hamid TK, Sherif J (1997) Software-Engineering Process Simulation Model (SEPS). Journal of Systems and Software 38(3): 263–277.
Madachy RJ (1996) System Dynamics Modeling of an Inspection-Based Process. In: Proceedings 18th International Conference on Software Engineering (ICSE), Berlin, Germany, IEEE Computer Society Press, pp 376–386.
Madachy RJ, Tarbet D (2000) Case Studies in Software Process Modeling with System Dynamics. Software Process Improvement and Practice 5: 133–146.
Madey G, Freeh V, Tynan R (2002) Agent-Based Modeling of Open Source using Swarm. In: Proceedings of Americas Conference on Information Systems (AMCIS), Dallas, TX, USA, pp 1472–1475.
Martin R, Raffo D (2001) Application of a Hybrid Process Simulation Model to a Software Development Project. The Journal of Systems and Software 59: 237–246.
McCabe B (2003) Monte Carlo Simulation for Schedule Risks. In: Proceedings of the 2003 Winter Simulation Conference, pp 1561–1565.
Mi P, Scacchi W (1990) A Knowledge-Based Environment for Modeling and Simulating Software Engineering Processes. IEEE Trans. Knowledge Data Engineering 2(3): 283–294.
Mišic VB, Gevaert H, Rennie M (2004) Extreme Dynamics: Towards a System Dynamics Model of the Extreme Programming Software Development Process. In: Proceedings 5th International Workshop on Software Process Simulation Modeling (ProSim), Edinburgh, Scotland, pp 237–242.
Mizuno O, Kusumoto S, Kikuno Y, Takagi Y, Sakamoto K (1997) Estimating the Number of Faults Using Simulator Based on Generalized Stochastic Petri-Net Model, In: Proceedings of the Asian Test Symposium (ATS), pp 269–274.
Müller M (2007) Analyzing Software Quality Assurance Strategies through Simulation, Fraunhofer IRB, Stuttgart, pp 262.
Münch J, Rombach HD, Rus I (2003) Creating an Advanced Software Engineering Laboratory by Combining Empirical Studies with Process Simulation. In: Proceedings 4th Process Simulation Modeling Workshop (ProSim), Portland, USA.
Münch J, Pfahl D, Rus I (2005) Virtual Software Engineering Laboratories in Support of Trade-off Analyses. Software Quality Journal 13(4): 407–428.
Neu H, Hanne T, Münch J, Nickel S, Wirsen A (2002) Simulation-Based Risk Reduction for Planning Inspections. In: Oivo M, Komi-Sirviö S (eds.) Proceedings 4th International Conference on Product Focused Software Process Improvement (PROFES), LNCS 2559, Springer Press, Berlin, pp 78–93.
Oh Navarro E, van der Hoek A (2004) SIMSE: An Interactive Simulation Game for Software Engineering Education. In: Proceedings 7th IASTED International Conference on Computers and Advanced Technology in Education (CATE), pp 12–17.
Padberg F (2006) A Study on Optimal Scheduling for Software Projects. Software Process Improvement and Practice 11(1): 77–91.
Pfahl D (2005) ProSim/RA–Software Process Simulation in Support of Risk Assessment. In: Biffl S, Aurum A, Boehm B, Erdogmus H, Grünbacher P (eds.) Value-based Software Engineering, Springer Press, Berlin, pp 263–286.
Pfahl D, Lebsanft K (2000) Knowledge Acquisition and Process Guidance for Building System Dynamics Simulation Models: An Experience Report from Software Industry. International Journal of Software Engineering and Knowledge Engineering 10(4): 487–510.
Pfahl D, Ruhe G (2002) IMMoS–A Methodology for Integrated Measurement, Modeling, and Simulation. Software Process Improvement and Practice 7: 189–210.
Pfahl D, Klemm M, Ruhe G (2001) A CBT Module with Integrated Simulation Component for Software Project Management Education and Training. Journal of Systems and Software 59(3): 283–298.
Pfahl D, Ruhe G, Lebsanft K, Stupperich M (2006) Software Process Simulation with System Dynamics–A Tool for Learning and Decision Support. In: Acuña ST, Sánchez-Segura MI (eds.) New Trends in Software Process Modelling, Series on Software Engineering and Knowledge Engineering, Vol. 18, World Scientific, Singapore, pp 57–90.
Pidd M (2004) Computer Simulation in Management Science, 5th edn, Wiley, New York, pp 328.
Powell A, Mander K, Brown D (1999) Strategies for Lifecycle Concurrency and Iteration: A System Dynamics Approach. Journal of Systems and Software 46(2/3): 151–162.
Raffo DM, Kellner MI (2000) Analyzing the Unit Test Process Using Software Process Simulation Models: A Case Study. In: Proceedings 3rd Software Process Simulation Modeling Workshop (ProSim), London, UK.
Raffo DM, Vandeville JV, Martin RH (1999) Software Process Simulation to Achieve Higher CMM Levels. Journal of Systems and Software 46(2/3): 163–172.
Raffo DM, Nayak U, Setamanit S, Sullivan P, Wakeland W (2004) Using Software Process Simulation to Assess the Impact of IV&V Activities. In: Proceedings 5th International Workshop on Software Process Simulation Modeling (ProSim), Edinburgh, Scotland, pp 197–205.
Richardson GP (1991) Feedback Thought in Social Science and Systems Theory, University of Pennsylvania Press, Philadelphia, PA, USA.
Robertson S (1997) Simulation Model Verification and Validation: Increase the Users’ Confidence. In: Proceedings of the 1997 Winter Simulation Conference, pp 53–59.
Roehling ST, Collofello JS, Hermann BG, Smith-Daniels DE (2000) System Dynamics Modeling Applied to Software Outsourcing Decision Support. Software Process Improvement and Practice 5: 169–182.
Rose P, Kramer M (1991) Qualitative Analysis of Causal Feedback. In: Proceedings of 9th National Conference on Artificial Intelligence (AAAI), pp 817–823.
Ruiz M, Ramos I, Toro M (2004) Using Dynamic Modeling and Simulation to Improve the COTS Software Process. In: Proceedings 5th International Conference on Product Focused Software Process Improvement (PROFES), Kyoto, Japan, pp 568–581.
Rus I (2002) Combining Process Simulation and Orthogonal Defect Classification for Improving Software Dependability. In: Proceedings 13th International Symposium on Software Reliability Engineering (ISSRE), Annapolis.
Rus I, Collofello C, Lakey P (1999) Software Process Simulation for Reliability Management. Journal of Systems and Software 46(2/3): 173–182.
Rus I, Biffl S, Hallig M (2002) Systematically Combining Process Simulation and Empirical Data in Support of Decision Analysis in Software Development. In: Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering (SEKE), Ischia, Italy, pp 827–833.
Rus I, Neu H, Münch J (2003) A Systematic Methodology for Developing Discrete Event Simulation Models of Software Development Processes. In: Proceedings 4th International Workshop on Software Process Simulation and Modeling (ProSim), Portland, Oregon, USA.
@Risk (2007) @Risk Simulation Software: http://www.palisade-europe.com (accessed on June 26, 2007).
Sargent R (2003) Verification and Validation of Simulation Models. In: Proceedings of 2003 Winter Simulation Conference, pp 37–48.
Scacchi W, Boehm B (1998) Virtual Systems Acquisition: Approach and Transitions, Acquisition Review Quarterly 5(2): 185–216.
Setamanit S, Wakeland W, Raffo DM (2006) Exploring the Impact of Task Allocation Strategies for Global Software Development Using Simulation. In: Wang Q, Pfahl D, Raffo DM, Wernick P (eds.) Software Process Change–SPW/ProSim 2006, Shanghai, China, May 2006, Proceedings (LNCS 3966), Springer, Berlin, Heidelberg, pp 274–285.
Smith N, Capiluppi A, Ramil JF (2005) A Study of Open Source Software Evolution Data Using Qualitative Simulation. Software Process: Improvement and Practice 10(3): 287–300.
Stallinger F, Grünbacher P (2001) System Dynamics Modeling and Simulation of Collaborative Requirements Engineering. Journal of Systems and Software 59: 311–321.
Tvedt JD, Collofello JS (1995) Evaluating the Effectiveness of Process Improvements on Development Cycle Time via System Dynamics Modeling. In: Proceedings Computer Science and Application Conference (COMPSAC), pp 318–325.
Vensim (2006) http://www.vensim.com/ (accessed on March 22, 2006).
Waeselynck H, Pfahl D (1994) System Dynamics Applied to the Modeling of Software Projects. Software Concepts and Tools 15(4): 162–176.
Wakeland W, Martin RH, Raffo D (2003) Using Design of Experiments, Sensitivity Analysis, and Hybrid Simulation to Evaluate Changes to a Software Development Process: A Case Study. In: Proceedings of 4th Process Simulation Modelling Workshop (ProSim), Portland, USA.
Wernick P, Hall T (2004) A Policy Investigation Model for Long-Term Software Evolution Processes. In: Proceedings of 5th International Workshop on Software Process Simulation Modeling (ProSim), Edinburgh, Scotland, pp 149–158.
Williford J, Chang A (1999) Modeling the FedEx IT Division: A System Dynamics Approach to Strategic IT Planning. Journal of Systems and Software 46(2/3): 203–211.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag London Limited
About this chapter
Cite this chapter
Müller, M., Pfahl, D. (2008). Simulation Methods. In: Shull, F., Singer, J., Sjøberg, D.I.K. (eds) Guide to Advanced Empirical Software Engineering. Springer, London. https://doi.org/10.1007/978-1-84800-044-5_5
Download citation
DOI: https://doi.org/10.1007/978-1-84800-044-5_5
Publisher Name: Springer, London
Print ISBN: 978-1-84800-043-8
Online ISBN: 978-1-84800-044-5
eBook Packages: Computer ScienceComputer Science (R0)