Skip to main content

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 139.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 179.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 179.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

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.

    Google Scholar 

  • Abdel-Hamid TK, Madnick SE (1991) Software Projects Dynamics–an Integrated Approach, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Balci O (2003) Verification, Validation, and Certification of Modelling and Simulation Applications. In: Proceedings of the 2003 Winter Simulation Conference, pp 150–158.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Banks J, Carson JS, Nelson BL (2000) Discrete-Event System Simulation, 3rd edn, MOUS Test Preparation Guides Series, Prentice-Hall, New York.

    Google Scholar 

  • Barlas Y (1989) Multiple Tests for Validation of System Dynamics Type of Simulation Models. European Journal of Operational Research 42: 59–87.

    Article  MATH  Google Scholar 

  • Birk A, Dingsøyr T, Stålhane T (2002) Postmortem: Never Leave a Project without It. IEEE Software 19(3): 43–45.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Cellier FE (1991) Continuous System Modeling, Springer Press, New York.

    MATH  Google Scholar 

  • 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.

    Google Scholar 

  • Choi SJ, Scacchi W (2001) Modeling and Simulating Software Acquisition Process Architectures. Journal of Systems and Software 59(3): 343–354.

    Article  Google Scholar 

  • Christie AM (1999a) Simulation: An Enabling Technology in Software Engineering. CROSSTALK–The Journal of Defense Software Engineering 12(4): 25–30.

    Google Scholar 

  • Christie AM (1999b) Simulation in Support of CMM-Based Process Improvement. Journal of Systems and Software 46(2/3): 107–112.

    Article  Google Scholar 

  • Christie AM, Staley MJ (2000) Organizational and Social Simulation of a Requirements Development Process. Software Process Improvement and Practice 5: 103–110.

    Article  Google Scholar 

  • Coyle RG (1996) System Dynamics Modelling–A Practical Approach, Chapman & Hall, London.

    MATH  Google Scholar 

  • 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.

    Google Scholar 

  • Drappa A, Ludewig J (1999) Quantitative Modeling for the Interactive Simulation of Software Projects. Journal of Systems and Software 46(2/3): 113–122.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Forrester JW (1961) Industrial Dynamics. Productivity Press, Cambridge.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Huang Y, Madey GR (2005) Autonomic Web-Based Simulation. In: Proceedings of Annual Simulation Symposium 2005, pp 160–167.

    Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Google Scholar 

  • Kellner MI, Madachy RJ, Raffo DM (1999) Software Process Simulation Modeling: Why? What? How?. Journal of Systems and Software 46(2/3): 91–105.

    Article  Google Scholar 

  • Kuipers B (1986) Qualitative Simulation. Artificial Intelligence 29(3): 289–338.

    Article  MATH  MathSciNet  Google Scholar 

  • 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.

    Google Scholar 

  • Lane DC (1995) On a Resurgence of Management Simulation Games. Journal of the Operational Research Society 46: 604–625.

    Google Scholar 

  • Law A, Kelton WD (1999) Simulation Modeling and Analysis, 3rd edn, McGraw-Hill, New York.

    Google Scholar 

  • Lee B, Miller J (2004) Multi-Project Management in Software Engineering Using Simulation Modeling. Software Quality Journal 12: 59–82.

    Article  Google Scholar 

  • Lerch FJ, Ballou DJ, Harter DE (1997) Using Simulation-Based Experiments for Software Requirements Engineering. Annals of Software Engineering 3: 345–366.

    Article  Google Scholar 

  • Lin CY, Abdel-Hamid TK, Sherif J (1997) Software-Engineering Process Simulation Model (SEPS). Journal of Systems and Software 38(3): 263–277.

    Article  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • Madachy RJ, Tarbet D (2000) Case Studies in Software Process Modeling with System Dynamics. Software Process Improvement and Practice 5: 133–146.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • McCabe B (2003) Monte Carlo Simulation for Schedule Risks. In: Proceedings of the 2003 Winter Simulation Conference, pp 1561–1565.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Müller M (2007) Analyzing Software Quality Assurance Strategies through Simulation, Fraunhofer IRB, Stuttgart, pp 262.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Padberg F (2006) A Study on Optimal Scheduling for Software Projects. Software Process Improvement and Practice 11(1): 77–91.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Pfahl D, Ruhe G (2002) IMMoS–A Methodology for Integrated Measurement, Modeling, and Simulation. Software Process Improvement and Practice 7: 189–210.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Pidd M (2004) Computer Simulation in Management Science, 5th edn, Wiley, New York, pp 328.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Richardson GP (1991) Feedback Thought in Social Science and Systems Theory, University of Pennsylvania Press, Philadelphia, PA, USA.

    Google Scholar 

  • Robertson S (1997) Simulation Model Verification and Validation: Increase the Users’ Confidence. In: Proceedings of the 1997 Winter Simulation Conference, pp 53–59.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Rose P, Kramer M (1991) Qualitative Analysis of Causal Feedback. In: Proceedings of 9th National Conference on Artificial Intelligence (AAAI), pp 817–823.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Rus I, Collofello C, Lakey P (1999) Software Process Simulation for Reliability Management. Journal of Systems and Software 46(2/3): 173–182.

    Article  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Google Scholar 

  • @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.

    Google Scholar 

  • Scacchi W, Boehm B (1998) Virtual Systems Acquisition: Approach and Transitions, Acquisition Review Quarterly 5(2): 185–216.

    Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Stallinger F, Grünbacher P (2001) System Dynamics Modeling and Simulation of Collaborative Requirements Engineering. Journal of Systems and Software 59: 311–321.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics