Macro and Micro Perspectives on Strategic Software Quality Assurance in Resource Constrained Environments

Software quality assurance (SQA) plays a key role in software development process. Software quality assurance methods include testing, inspection, formal method (program verification, model checking, etc.), static code analysis, and runtime verification, etc. A disciplined approach to meeting benefit, cost, schedule, and quality constraints is in need. In this paper, we propose two perspectives (macro and micro) on strategic software quality assurance in resource constrained environments. We present a survey and discuss a variety of research opportunities and challenges with these two perspectives. Finally we present our research work on test case prioritization based on boundary value coverage to tackle strategic SQA problems with these two perspectives.

[1]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[2]  William G. Griswold,et al.  Dynamically discovering likely program invariants to support program evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[3]  Sungdeok Cha Automatic Test Generation from Statecharts Using Model Checking , 2001 .

[4]  Loe M. G. Feijs,et al.  Test Generation for Intelligent Networks Using Model Checking , 1997, TACAS.

[5]  Michael D. Ernst,et al.  Static verification of dynamically detected program invariants: Integrating Daikon and ESC/Java , 2001, RV@CAV.

[6]  Daniel Jackson,et al.  Alcoa: the Alloy constraint analyzer , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[7]  Marsha Chechik,et al.  Formal Methods When Money is Tight , 1999 .

[8]  Satish Chandra,et al.  Software model checking in practice: an industrial case study , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[9]  Leon J. Osterweil,et al.  Strategic directions in software quality , 1996, CSUR.

[10]  Amitabh Srivastava,et al.  Effectively prioritizing tests in development environment , 2002, ISSTA '02.

[11]  Joseph Robert Horgan,et al.  A study of effective regression testing in practice , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[12]  Paul Ammann,et al.  Using model checking to generate tests from specifications , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[13]  David Notkin,et al.  Strategic directions in software engineering and programming languages , 1996, CSUR.

[14]  Boris Beizer,et al.  Black Box Testing: Techniques for Functional Testing of Software and Systems , 1996, IEEE Software.

[15]  Joachim Karlsson,et al.  Supporting the selection of software requirements , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[16]  Gregg Rothermel,et al.  Test case prioritization: an empirical study , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[17]  Angelo Gargantini,et al.  Using model checking to generate tests from requirements specifications , 1999, ESEC/FSE-7.

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

[19]  Michael A. Cusumano,et al.  How Microsoft builds software , 1997, CACM.

[20]  K. Rustan M. Leino,et al.  Houdini, an Annotation Assistant for ESC/Java , 2001, FME.

[21]  Thomas J. Ostrand,et al.  Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria , 1994, Proceedings of 16th International Conference on Software Engineering.

[22]  Sarfraz Khurshid,et al.  TestEra A Novel Framework for Testing Java Programs y , 2003 .

[23]  John A. Clark,et al.  Integrating Automated Testing with Exception Freeness Proofs for Safety Critical Systems , 1999 .

[24]  Barry W. Boehm,et al.  Identifying Quality-Requirement Conflicts , 1996, IEEE Softw..

[25]  Phyllis G. Frankl,et al.  Empirical evaluation of the textual differencing regression testing technique , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[26]  Klaus Schmid,et al.  A systematic approach to derive the scope of software product lines , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[27]  John A. Clark,et al.  Automated V&V for high integrity systems, a targeted formal methods approach , 2000 .