Software Product Quality Control

Quality is not a fixed or universal property of software; it depends on the context and goals of its stakeholders. Hence, when you want to develop a high-quality software system, the first step must be a clear and precise specification of quality. Yet even if you get it right and complete, you can be sure that it will become invalid over time. So the only solution is continuous quality control: the steady and explicit evaluation of a products properties with respect to its updated quality goals. This book guides you in setting up and running continuous quality control in your environment. Starting with a general introduction on the notion of quality, it elaborates what the differences between process and product quality are and provides definitions for quality-related terms often used without the required level of precision. On this basis, the work then discusses quality models as the foundation of quality control, explaining how to plan desired product qualities and how to ensure they are delivered throughout the entire lifecycle. Next it presents the main concepts and techniques of continuous quality control, discussing the quality control loop and its main techniques such as reviews or testing. In addition to sample scenarios in all chapters, the book is rounded out by a dedicated chapter highlighting several applications of different subsets of the presented quality control techniques in an industrial setting. The book is primarily intended for practitioners working in software engineering or quality assurance, who will benefit by learning how to improve their current processes, how to plan for quality, and how to apply state-of-the-art quality control techniques. Students and lecturers in computer science and specializing in software engineering will also profit from this book, which they can use in practice-oriented courses on software quality, software maintenance and quality assurance.

[1]  Jeff Tian Quality-evaluation models and measurements , 2004, IEEE Software.

[2]  Laurie A. Williams,et al.  On the value of static analysis for fault detection in software , 2006, IEEE Transactions on Software Engineering.

[3]  Yuming Zhou,et al.  Predicting object-oriented software maintainability using multivariate adaptive regression splines , 2007, J. Syst. Softw..

[4]  Andreas Zeller,et al.  Mining metrics to predict component failures , 2006, ICSE.

[5]  RunesonPer,et al.  What Do We Know about Defect Detection Methods , 2006 .

[6]  R. F.,et al.  Statistical Method from the Viewpoint of Quality Control , 1940, Nature.

[7]  Natalia Juristo Juzgado,et al.  In Search of What We Experimentally Know about Unit Testing , 2006, IEEE Software.

[8]  Capers Jones,et al.  Applied software measurement: assuring productivity and quality , 1991 .

[9]  Stefan Wagner,et al.  An Evaluation of Two Bug Pattern Tools for Java , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[10]  Horst Lichter,et al.  Tool Support for User-Defined Quality Assessment Models , 2009 .

[11]  Radu Marinescu,et al.  Quantifying the quality of object-oriented design: the factor-strategy model , 2004, 11th Working Conference on Reverse Engineering.

[12]  Claes Wohlin,et al.  Prioritized Use Cases as a Vehicle for Software Inspections , 2003, IEEE Softw..

[13]  Reinhold Plösch,et al.  Tool Support for Expert-Centred Code Assessments , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[14]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[15]  Stefan Wagner,et al.  Cost optimisation of analytical software quality assurance , 2007 .

[16]  John D. Musa,et al.  Quantifying Software Validation: When to Stop Testing? , 1989, IEEE Softw..

[17]  Shareeful Islam,et al.  A Security Requirements Approach for Web Systems ? , 2009 .

[18]  Tim Menzies,et al.  Local vs. global models for effort estimation and defect prediction , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[19]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[20]  Ioannis Stamelos,et al.  The SQO-OSS Quality Model: Measurement Based Open Source Software Evaluation , 2008, OSS.

[21]  Bob McFeeley,et al.  IDEAL: A User's Guide for Software Process Improvement. , 1996 .

[22]  P. M. Nagel,et al.  Software reliability: Additional investigations into modeling with replicated experiments , 1984 .

[23]  Elmar Jürgens,et al.  Do code clones matter? , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[24]  Reinhold Plösch,et al.  Collecting Quality Requirements Using Quality Models and Goals , 2010, 2010 Seventh International Conference on the Quality of Information and Communications Technology.

[25]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

[26]  E. Ziegel Juran's Quality Control Handbook , 1988 .

[27]  Reinhold Plösch,et al.  The Quamoco product quality modelling and assessment approach , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[28]  Reinhold Plösch,et al.  The EMISQ method and its tool support-expert-based evaluation of internal software quality , 2008, Innovations in Systems and Software Engineering.

[29]  P. M. Nagel,et al.  Software reliability: Repetitive run experimentation and modeling , 1982 .

[30]  Bev Littlewood,et al.  A Bayesian Reliability Growth Model for Computer Software , 1973 .

[31]  John D. Musa,et al.  Software Reliability Engineering: More Reliable Software Faster and Cheaper , 2004 .

[32]  Stéphane Ducasse,et al.  The squale model — A practice-based industrial quality model , 2009, 2009 IEEE International Conference on Software Maintenance.

[33]  Stefan Wagner,et al.  A Comprehensive Model of Usability , 2007, EHCI/DS-VIS.

[34]  Mayuram S. Krishnan,et al.  Evaluating the cost of software quality , 1998, CACM.

[35]  Dennis G. Kafura,et al.  The Use of Software Complexity Metrics in Software Maintenance , 1987, IEEE Transactions on Software Engineering.

[36]  Mary Poppendieck,et al.  Lean Software Development , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[37]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[38]  Shari Lawrence Pfleeger,et al.  Software Quality: The Elusive Target , 1996, IEEE Softw..

[39]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[40]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.

[41]  Stefan Wagner,et al.  A Bayesian network approach to assess and predict software quality using activity-based quality models , 2009, PROMISE '09.

[42]  Jan Jürjens,et al.  Comparing Bug Finding Tools with Reviews and Tests , 2005, TestCom.

[43]  Andreas Zeller,et al.  Predicting vulnerable software components , 2007, CCS '07.

[44]  Yasuhiro Monden,et al.  Toyota Production System: An Integrated Approach to Just-In-Time , 1993 .

[45]  Andreas Bollin,et al.  Requirements Engineering Fundamentals , 2015 .

[46]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[47]  J Voas Can clean pipes produce dirty water , 1997, IEEE Software.

[48]  Jan Jürjens,et al.  Model-Based Identification of Fault-Prone Components , 2005, EDCC.

[49]  P. R. H. Hendriks,et al.  Specifying software quality with the extended ISO model , 1996, Software Quality Journal.

[50]  Jeff Tian,et al.  Software quality engineering - testing, quality assurance, and quantifiable improvement , 2005 .

[51]  William A. Mandeville Software Costs of Quality , 1990, IEEE J. Sel. Areas Commun..

[52]  Helmut Fischer,et al.  A Software Reliability Model Based on a Geometric Sequence of Failure Rates , 2006, Ada-Europe.

[53]  USING THE COST OF QUALITY APPROACH FOR SOFTWARE , 1998 .

[54]  Natalia Juristo Juzgado,et al.  Reviewing 25 Years of Testing Technique Experiments , 2004, Empirical Software Engineering.

[55]  Laurie A. Williams,et al.  On the Sustained Use of a Test-Driven Development Practice at IBM , 2007, Agile 2007 (AGILE 2007).

[56]  S. Wagner Using Economics as Basis for Modelling and Evaluating Software Quality , 2007, 2007 First International Workshop on the Economics of Software and Computation.

[57]  KitchenhamBarbara,et al.  Towards a Framework for Software Measurement Validation , 1995 .

[58]  Alexander Pretschner,et al.  One evaluation of model-based testing and its automation , 2005, ICSE.

[59]  Uday R. Kulkarni,et al.  Critical success factors for software projects , 1998, ICIS '98.

[60]  Stefan Wagner,et al.  A literature survey of the quality economics of defect-detection techniques , 2006, ISESE '06.

[61]  Paolo Donzelli,et al.  Towards Reusable Measurement Patterns , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[62]  Klaus Lochmann,et al.  Engineering Quality Requirements Using Quality Models , 2010, 2010 15th IEEE International Conference on Engineering of Complex Computer Systems.

[63]  N. Nagappan,et al.  Static analysis tools as early indicators of pre-release defect density , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[64]  Teresita Rojas,et al.  Construction of a Systemic Quality Model for Evaluating a Software Product , 2003, Software Quality Journal.

[65]  Stefan Wagner,et al.  An Integrated Approach to Quality Modelling , 2007, Fifth International Workshop on Software Quality (WoSQ'07: ICSE Workshops 2007).

[66]  Bengt Klefsjö,et al.  The machine that changed the world , 2008 .

[67]  Forrest Shull,et al.  How perspective-based reading can improve requirements inspections , 2000, Computer.

[68]  T. J. Larkin,et al.  Communicating change : how to win employee support for new business directions , 1994 .

[69]  J. Watson Engineering Secure Systems , 2011 .

[70]  Mladen A. Vouk,et al.  Field data analysis , 1996 .

[71]  P. Oman,et al.  Metrics for assessing a software system's maintainability , 1992, Proceedings Conference on Software Maintenance 1992.

[72]  Reinhold Plösch,et al.  A Comprehensive Code-Based Quality Model for Embedded Systems: Systematic Development and Validation by Industrial Projects , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering.

[73]  Bernhard Schätz,et al.  Can clone detection support quality assessments of requirements specifications? , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[74]  Jorma Sajaniemi,et al.  An Evaluation of Inspection Automation Tools , 2002, ECSQ.

[75]  D.R. Wallace,et al.  Software verification and validation: an overview , 1989, IEEE Software.

[76]  Michael R. Lyu,et al.  What is software reliability? , 1994, Proceedings of COMPASS'94 - 1994 IEEE 9th Annual Conference on Computer Assurance.