Software Verification - A Scalable, Model-Driven, Empirically Grounded Approach

Software is present in most systems across all industries, including energy, automotive, health care, maritime, aerospace, and banking, to name just a few. Software systems are increasingly taking on safety- and business-critical roles and growing in complexity. One crucial aspect of software development is therefore to ensure the dependability of such systems, that is, their reliability, safety, and robustness. This is achieved by several complementary means of verification, ranging from early analysis of system specifications and designs to systematic testing of the executable software. Such verification activities are, however, difficult and time-consuming. This stems in part from the sheer complexity of most software systems and because they must accommodate changing requirements from many stakeholders.

[1]  Dolores R. Wallace,et al.  A Testability-Based Assertion Placement Tool for Object-Oriented Software, , 1998 .

[2]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[3]  Brian Marick,et al.  The craft of software testing , 1994 .

[4]  Lionel C. Briand,et al.  Automating regression test selection based on UML designs , 2009, Inf. Softw. Technol..

[5]  Lionel C. Briand,et al.  Using Mutation Analysis for Assessing and Comparing Testing Coverage Criteria , 2006, IEEE Transactions on Software Engineering.

[6]  Gregory Zoughbi,et al.  A UML profile for developing airworthiness-compliant (RTCA DO-178B), safety-critical software , 2007, MODELS'07.

[7]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[8]  Lionel C. Briand,et al.  An Investigation of Graph-Based Class Integration Test Order Strategies , 2003, IEEE Trans. Software Eng..

[9]  Alessandro Orso,et al.  Regression test selection for Java software , 2001, OOPSLA '01.

[10]  Maya Daneva Approaching the ERP Project Cost Estimation Problem: an Experiment , 2007, ESEM 2007.

[11]  Gregory Tassey,et al.  Prepared for what , 2007 .

[12]  Koushik Sen DART: Directed Automated Random Testing , 2009, Haifa Verification Conference.

[13]  Myra B. Cohen,et al.  Covering arrays for efficient fault characterization in complex configuration spaces , 2004, IEEE Transactions on Software Engineering.

[14]  Lionel C. Briand,et al.  Towards the reverse engineering of UML sequence diagrams , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[15]  Mauro Pezzè,et al.  Software testing and analysis - process, principles and techniques , 2007 .

[16]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[17]  Mark Harman,et al.  Software engineering using metaheuristic innovative algorithms: workshop report , 2001, Inf. Softw. Technol..

[18]  Vahid Garousi,et al.  Traffic-aware stress testing of distributed real-time systems based on UML models using genetic algorithms , 2008, J. Syst. Softw..

[19]  Rajesh Subramanyan,et al.  A survey on model-based testing approaches: a systematic review , 2007, WEASELTech '07.

[20]  Robert V. Binder,et al.  Testing object‐oriented software: a survey , 1996 .

[21]  Vahid Garousi,et al.  Traffic-aware stress testing of distributed systems based on UML models , 2006, ICSE.

[22]  Eileen Kraemer,et al.  Proceedings of the 1st ACM international workshop on Empirical assessment of software engineering languages and technologies: held in conjunction with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE) 2007 , 2007, ASE 2007.

[23]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[24]  Tom Pender UML Bible , 2003 .

[25]  Joseph Robert Horgan,et al.  Test set size minimization and fault detection effectiveness: a case study in a space application , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[26]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[27]  Lionel C. Briand,et al.  Automated impact analysis of UML models , 2006, J. Syst. Softw..

[28]  Hong Sun,et al.  Investigating the use of analysis contracts to improve the testability of object‐oriented code , 2003, Softw. Pract. Exp..

[29]  Lionel C. Briand,et al.  Automated, contract-based user testing of commercial-off-the-shelf components , 2006, ICSE '06.

[30]  Jean-Marc Jézéquel,et al.  Design by Contract to Improve Software Vigilance , 2006, IEEE Transactions on Software Engineering.

[31]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[32]  John Vlissides,et al.  Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications , 2001, OOPSLA 2001.

[33]  J. Aagedal,et al.  UML Pro?le for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms , 2004 .

[34]  R. France,et al.  Aspect-oriented approach to early design modelling , 2004, IEE Proc. Softw..

[35]  Reidar Conradi,et al.  Object-Oriented Reading Techniques for Inspection of UML Models - An Industrial Experiment , 2003, ECOOP.

[36]  Lionel C. Briand,et al.  Automated traceability analysis for UML model refinements , 2009, Inf. Softw. Technol..

[37]  Lionel C. Briand,et al.  Using genetic algorithms for early schedulability analysis and stress testing in real-time systems , 2006, Genetic Programming and Evolvable Machines.

[38]  Lionel C. Briand,et al.  Assessing, Comparing, and Combining Statechart- based testing and Structural testing: An Experiment , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[39]  Walter F. Tichy,et al.  Proceedings 25th International Conference on Software Engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[40]  Gregg Rothermel,et al.  A safe, efficient regression test selection technique , 1997, TSEM.

[41]  Bryan F. Jones,et al.  Automatic structural testing using genetic algorithms , 1996, Softw. Eng. J..

[42]  Aamer Nadeem,et al.  A state-based approach to integration testing based on UML models , 2007, Inf. Softw. Technol..

[43]  Lionel C. Briand,et al.  Concurrent Contracts for Java in JML , 2008, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[44]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[45]  Vahid Garousi,et al.  A UML-based quantitative framework for early prediction of resource usage and load in distributed real-time systems , 2008, Software & Systems Modeling.

[46]  Tsong Yueh Chen,et al.  On the identification of categories and choices for specification-based test case generation , 2004, Inf. Softw. Technol..

[47]  Lionel C. Briand,et al.  A UML/SPT Model Analysis Methodology for Concurrent Systems Based on Genetic Algorithms , 2008, MoDELS.

[48]  Massimiliano Di Penta,et al.  Assessing and improving state-based class testing: a series of experiments , 2004, IEEE Transactions on Software Engineering.

[49]  L. Briand,et al.  A Systematic Review of the Application and Empirical Investigation of Evolutionary Testing , 2008 .

[50]  Ina Schieferdecker,et al.  The UML 2.0 Testing Profile and Its Relation to TTCN-3 , 2003, TestCom.

[51]  Natalia Juristo Juzgado,et al.  A survey on testing technique empirical studies: how limited is our knowledge , 2002, Proceedings International Symposium on Empirical Software Engineering.

[52]  Elaine J. Weyuker,et al.  Automatically Generating Test Data from a Boolean Specification , 1994, IEEE Trans. Software Eng..

[53]  Lionel C. Briand,et al.  Using simulation to empirically investigate test coverage criteria based on statechart , 2004, Proceedings. 26th International Conference on Software Engineering.

[54]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[55]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[56]  Lionel C. Briand,et al.  A measurement framework for object-oriented software testability , 2005, Inf. Softw. Technol..

[57]  David Lee,et al.  Principles and methods of testing finite state machines-a survey , 1996, Proc. IEEE.

[58]  Lionel C. Briand,et al.  Improving statechart testing criteria using data flow information , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[59]  Mary Jean Harrold,et al.  Empirical evaluation of the tarantula automatic fault-localization technique , 2005, ASE.

[60]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.