Abstract
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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
L. C. Briand, Y. Labiche, L. O’Sullivan, and M. Sowka. Automated impact analysis of UML models. Journal of Systems and Software, 79(3):339–352, 2006.
R. France, I. Ray, G. Georg, and S. Ghosh. Aspect-oriented approach to early design modelling. IEE Proceedings-Software, 151(4):173–185, 2004.
P. Godefroid, N. Klarlund, and K. Sen. DART: directed automated random testing. PLDI ’05: Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, pages 213–223, New York, NY, USA, 2005. ACM.
V. Garousi, L. Briand, and Y. Labiche. A UML-based quantitative framework for early prediction of resource usage and load in distributed real-time systems. Software and Systems Modeling (Springer), 2008.
IBM. Rational test RealTime. 2005.
S. Ali, L. C. Briand, M. J. Rehman, H. Asghar, M. Z. Z. Iqbal, and A. Nadeem. A state-based approach to integration testing based on UML models. Information and Software Technology, 49(11-12):1087–1106, 2007.
M. Shousha, L. Briand, and Y. Labiche. A uml/spt model analysis methodology for concurrent systems based on genetic algorithms. ACM/IEEE 11th International Conference in Model Driven Engineering Languages and Systems (MODELS 2008), 2008.
T. Y. Chen, P. L. Poon, S. F. Tang, and T. H. Tse. On the identification of categories and choices for specification-based test case generation. Information and software technology, 46(13):887–898, 2004.
T. J. Ostrand and M. J. Balcer. The category-partition method for specifying and generating fuctional tests. 1988.
G. Zoughbi, L. C. Briand, and Y. Labiche. A uml profile for developing airworthiness-compliant (rtca do-178b) safety-critical software. International Conference on Model Driven Engineering Languages, 2007.
C. Ghezzi, M. Jazayeri, and D. Mandrioli. Fundamentals of software engineering. 1991.
Y. L. Traon, B. Baudry, and J. M. Jezequel. Design by contract to improve software vigilance. IEEE Transactions on Software Engineering, 32(8):571, 2006.
L. C. Briand, Y. Labiche, and H. Sun. Investigating the use of analysis contracts to improve the testability of object oriented code. Software Practice and Experience, 33(7), 2003.
G. Tassey. The economic impacts of inadequate infrastructure for software testing. National Institute of Standards and Technology RTI Project, 2002.
P. Baker, Z. R. Dai, J. Grabowski, Ã. Haugen, S. Lucio, E. Samuelsson, I. Schieferdecker, and C. Williams. The UML 2.0 testing profile. 8th Conference on quality Engineering in Software Technology, Nuremberg, Germany, 2004.
B. F. Jones. Special issue on metaheuristic algorithms in software engineering. Information and Software Technology, 43:14, 2001.
N. Fenton and S. L. Pfleeger. Software metrics: a rigorous and practical approach. PWS Publishing Co. Boston, MA, USA, 2nd edition, 1998.
S. Mouchawrab, L. C. Briand, and Y. Labiche. Assessing, comparing, and combining statechart-based testing and structural testing: An experiment. International Symposium on Empirical Software Engineering and Measurement (ESEM), 2007.
E. Weyuker, T. Goradia, and A. Singh. Automatically generating test data from a boolean specification. IEEE Transactions on Software Engineering, 20(5):353–363, 1994.
W. Araujo, L. Briand, and Y. Labiche. Concurrent contracts for java in JML. Software Reliability Engineering, 2008. ISSRE 2008. 19th International Symposium on, pages 37–46, 2008.
L. C. Briand, Y. Labiche, and Y. Wang. An investigation of graph-based class integration test order strategies. IEEE Transactions on Software Engineering, 29(7):594–607, 2003.
R. Binder. Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Professional, 1999.
R. V. Binder. Testing object-oriented software: a survey. Software Testing, Verification and Reliability, 6(3–4):125–252, 1996.
T. Pender UML bible. John Wiley & Sons, Inc. New York, NY, USA, 2003.
E. Foundation. Eclipse modeling framework (EMF). May 2005.
L. Briand, Y. Labiche, and S. He. Automating regression test selection based on uml designs. Information and Software Technology (Elsevier), 51(1), 2009.
L. C. Briand, Y. Labiche, and T. Yue. Automated traceability analysis for UML model refinements. Information and Software Technology, 51(2):512–527, 2009.
M. J. Harrold, J. A. Jones, T. Li, D. Liang, A. Orso, M. Pennings, S. Sinha, S. A. Spoon, and A. Gujarathi. Regression test selection for java software. Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pages 312–326. ACM New York, NY, USA, 2001.
S. Mouchawrab, L. C. Briand, and Y. Labiche. A measurement framework for object-oriented software testability. Journal of Information & Software Technology, 47(15):979–997, 2005.
V. Garousi, L. C. Briand, and Y. Labiche. Traffic-aware stress testing of distributed systems based on UML models. Proceedings of the 28th international conference on Software engineering, pages 391–400. ACM New York, NY, USA, 2006.
M. Pezzé. Software Testing and Analysis: Process, Principles and Techniques. Wiley, 2008.
A. C. D. Neto, R. Subramanyan, M. Vieira, and G. H. Travassos. A survey on model-based testing approaches: a systematic review. 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, pages 31–36. ACM New York, NY, USA, 2007.
J. H. Andrews, L. C. Briand, Y. Labiche, and A. S. Namin. Using mutation analysis for assessing and comparing testing coverage criteria. IEEE Transactions on Software Engineering, 32(8):608, 2006.
L. C. Briand, Y. Labiche, and J. Leduc. Towards the reverse engineering of uml sequence diagrams for distributed java software. IEEE Transactions on Software Engineering, 32(9), 2006.
W. E. Wong, J. R. Horgan, A. P. Mathur, and A. Pasquini. Test set size minimization and fault detection effectiveness: A case study in a space application. The Journal of Systems & Software, 48(2):79–89, 1999.
G. Rothermel and M. J. Harrold. A safe, efficient regression test selection technique. ACM Transactions on Software Engineering and Methodology (TOSEM), 6(2):173–210, 1997.
N. Juristo, A. M. Moreno, and S. Vegas. A survey on testing technique empirical studies: how limited is our knowledge. Empirical Software Engineering, 2002. Proceedings. 2002 International Symposium n, pages 161–172, 2002.
U. OMG. Profile for modeling quality of service and fault tolerance characteristics and mechanisms. Object Management Group, 2005.
U. OMG. Profile for schedulability, perfomance and time specification. 2005.
S. Ali, L. C. Briand, H. Hemmati, and R. K. Panesar-Walawege. A systematic review of the application and empirical investigation of evolutionary testing. Technical report, Simula Research Laboratory, 2008.
J. Voas, M. Schmid, M. Schatz, and D. Wallace. Testability-Based assertion placement tool for Object-Oriented software. NASA, (19980045759), 1998.
B. Marick. The craft of software testing. PTR Prentice Hall Englewood Cliffs, NJ, 1995.
G. Rothermel, R. H. Untch, C. Chu, and M. J. Harrold. Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering, 27(10):929–948, 2001.
S. J. Mellor and M. Balcer. Executable UML: A foundation for model-driven architectures. Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA, 2002.
L. C. Briand, Y. Labiche, and Y. Wang. Using simulation to empirically investigate test coverage criteria based on statechart. Proceedings of the 26th International Conference on Software Engineering, pages 86–95. IEEE Computer Society Washington, DC, USA, 2004.
R. Conradi, P. Mohagheghi, T. Arif, L. C. Hegde, G. A. Bunde, A. Pedersen, and E. Norway-Grimstad. Object-Oriented reading techniques for inspection of UML models— an industrial experiment.
L. C. Briand, M. D. Penta, and Y. Labiche. Assessing and improving state-based class testing: a series of experiments. IEEE Transactions on Software Engineering, 30(11):770–783, 2004.
OMG. The official OMG MARTE website. 2008.
D. Lee and M. Yannakakis. Principles and methods of testing finite state machines-A survey. Proceedings of the IEEE, 84(8):1090–1123, 1996.
O. M. G. Uml. 2.0 superstructure specification. OMG ed, 2003.
A. G. Kleppe, J. Warmer, and W. Bast. MDA explained: the model driven architecture: practice and promise. Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA, 2003.
L. C. Briand, Y. Labiche, and M. Shousha. Using genetic algorithms for early schedulability analysis and stress testing in real-time systems. Journal of Genetic Programming and Evolvable Machines, 7(2), 2006.
D. C. Petriu. Performance analysis with the SPT profile. pages 205–224, 2005.
V. Garousi, L. C. Briand, and Y. Labiche. Traffic-aware stress testing of distributed real-time systems based on uml models using genetic algorithms. Journal of Systems and Software, 81(2):161–185, 2008.
J. A. Jones and M. J. Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, pages 273–282. ACM New York, NY, USA, 2005.
L. C. Briand, Y. Labiche, and Q. Lin. Improving statechart testing criteria using data flow information. 16th IEEE International Symposium on Software Reliability Engineering, 2005. ISSRE 2005, page 10, 2005.
H. Gomaa. Designing Concurrent, Distributed, and Real-Time Applications With Uml. Addison-Wesley Professional, 2000.
B. F. Jones, H. H. Sthamer, and D. E. Eyres. Automatic structural testing using genetic algorithms. Software Engineering Journal, 11(5):299–306, 1996.
T. S. Chow. Testing software design modeled by finite-state machines. IEEE Transactions on Software Engineering, pages 178–187, 1978.
C. Yilmaz, M. B. Cohen, and A. A. Porter. Covering arrays for efficient fault characterization in complex configuration spaces. IEEE Transactions on Software Engineering, 32(1):20–34, 2006.
P. Ammann and J. Offutt. Introduction to software testing. Cambridge University Press, 2008.
L. C. L. Briand, Y. Labiche, and M. Sowka. Automated, contract-based user testing of commercial-off-the-shelf components. ACM/IEEE International Conference on Software Engineering (ICSE). ACM Press, 2006.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Briand, L.C. (2010). Software Verification — A Scalable, Model-Driven, Empirically Grounded Approach. In: Tveito, A., Bruaset, A., Lysne, O. (eds) Simula Research Laboratory. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-01156-6_28
Download citation
DOI: https://doi.org/10.1007/978-3-642-01156-6_28
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-01155-9
Online ISBN: 978-3-642-01156-6
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)