Abstract
An adequate combination of verification and validation (V&V) methods is important to improve software quality control throughout the development process and to reduce costs. However, to find an appropriate set of V&V methods that properly addresses the desired quality characteristics of a given project is a NP-hard problem. In this paper, we present a novel approach that combines V&V methods efficiently in order to properly cover a set of quality characteristics. We modelled the problem using a bipartite graph to represent the relationships between V&V methods and quality characteristics. Then we interpreted our problem as the Set Cover problem. Although Set Cover is considered hard to be solved, through the theoretical framework of Parameterized Complexity we propose an FPT-Algorithm (fixed-parameter tractable algorithm) that effectively solves the problem, considering the number of quality characteristics to be covered as a fixed parameter. We conclude that the proposed algorithm enables combining V&V methods in a scalable and efficient way, representing a valuable contribution to the community.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Meyers, G.J., Badgett, T., Thomas, T., Csandler, C.: The Art of Software Testing, 3rd edn. Wiley, Hoboken (2011). ISBN 978-1118031964
Feldt, R., Torkar, R., Ahmad, E., Raza, B.: Challenges with software verification and validation activities in the space industry. In: Third International Conference on Software Testing, Verification and Validation (ICST) (2010)
Boehm, B., Basili, V.: Software defect reduction top 10 list. IEEE Softw. 34(1), 135–137 (2001)
Feldt, R., Marculescu, B., Schulte, J., Torkar, R., Preissing, P., Hult, E.: Optimizing verification and validation activities for software in the space industry. In: Data Systems in Aerospace (DASIA), Budapest (2010)
Bourque, P., Fairley, R.E.: SWEBOK guide V3.0, guide to the software engineering body of knowledge. IEEE Computer Society (2004)
Endres, A., Rombach, D.: A Handbook of Software and Systems Engineering. Addison Wesley, Reading (2003)
Myers, G.J.: A controlled experiment in program testing and code walkthroughs/inspections. Commun. ACM 21(9), 760–768 (1978)
Wood, M., Roper, M., Brooks, A., Miller, J.: Comparing and combining software defect detection techniques: a replicated empirical study. In: Jazayeri, M., Schauer, H. (eds.) ESEC/SIGSOFT FSE-1997. LNCS, vol. 1301, pp. 262–277. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-63531-9_19
Elberzhager, F., Münch, J., Nha, V.T.N.: A systematic mapping study on the combination of static and dynamic quality assurance techniques. Inf. Softw. Technol. 54(1), 1–15 (2012)
ISO25000 Software Product Quality, ISO/IEC 25010, Official site (2011). http://iso25000.com/index.php/en/iso-25000-standards/iso-25010
Karp, R.M.: Reducibility among combinatorial problems. In: Miller, R.E., Thatcher, J.W. (eds.) Complexity of Computer Computations, pp. 85–103. Plenum, New York (1972)
dos Santos, V.F., dos Santos Souza, U.: Uma Introdução à Complexidade Parametrizada. In: Anais da 34º Jornada de Atualização em Informática, CSBC, pp. 232–273 (2015)
Downey, R.G., Fellows, M.R.: Parameterized Complexity. Monographs in Computer Science. Springer, New York (1999). https://doi.org/10.1007/978-1-4612-0515-9
Flum, J., Grohe, M.: Parameterized Complexity Theory. Springer, Heidelberg (2006). https://doi.org/10.1007/3-540-29953-X
Niedermeier, R.: Invitation to Fixed-Parameter Algorithms. Oxford Lecture Series in Mathematics and Its Applications. Oxford University Press, Oxford (2006)
Bondi, A.B.: Characteristics of scalability and their impact on performance. In: Proceedings Second International Workshop on Software and Performance WOSP, pp. 195–203 (2000)
Laudon, K.C., Traver, C.G.: E-commerce: Business, Technology, Society. Stanford University, Stanford (2008)
Lubell, D.: A short proof of Sperner’s lemma. J. Comb. Theory 1(2), 299 (1996)
Wagner, S.: Software Product Quality Control. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38571-1
Wiegers, K.E.: Peer Reviews in Software: A Practical Guide, 1st edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)
Mendoza, I., Kalinowski, M., Souza, U., Felderer, M.: Relating verification and validation methods to software product quality characteristics: results of an expert survey. In: 11th Software Quality Days (SWQD). Lecture Notes on Business Information Processing, Vienna, Austria. Springer (2019, to appear)
Basili, V.R.: Comparing the effectiveness of software testing strategies. IEEE Trans. Softw. Eng. 13(12), 1278–1296 (1987)
Kamsties, E., Lott, C.M.: An empirical evaluation of three defect-detection techniques. In: Schäfer, W., Botella, P. (eds.) ESEC 1995. LNCS, vol. 989, pp. 362–383. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-60406-5_25
Wagner, S., Jürjens, J., Koller, C., Trischberger, P.: Comparing bug finding tools with reviews and tests. In: Khendek, F., Dssouli, R. (eds.) TestCom 2005. LNCS, vol. 3502, pp. 40–55. Springer, Heidelberg (2005). https://doi.org/10.1007/11430230_4
Dwyer, M.B., Elbaum, S.: Unifying verification and validation techniques: relating behavior and properties through partial evidence. In: FSE/SDP Workshop on Future of Software Engineering Research (FOSE), Santa Fe, New Mexico, USA, pp. 93–98 (2010)
Cygan, M., et al.: Parameterized Algorithms. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21275-3
Runeson, P., Stefik, A., Andrews, A., Grönblom, S., Porres, I., Siebert, S.: A comparative analysis of three replicated experiments comparing inspection and unit testing. In: Proceedings 2nd International Workshop on Replication in Empirical Software Engineering Research (RESER), Banff, AB, Canada, Article No. 6148335, pp. 35–42 (2012)
Olorisade, B.K., Vegas, S., Juristo, N.: Determining the effectiveness of three software evaluation techniques through informal aggregation. Inf. Softw. Technol. 55(9), 1590–1601 (2013)
Cotroneo, D., Pietrantuono, R., Russo, S.: A learning-based method for combining testing techniques. In: Proceedings 35th International Conference on Software Engineering (ICSE), San Francisco, CA, USA, Article No. 6606560, pp. 142–151 (2013)
Bishop, P., Bloomfield, R., Cyra, L.: Combining testing and proof to gain high assurance in software: a case study. In: IEEE 24th International Symposium on Software Reliability Engineering (ISSRE), Pasadena, CA, USA, Article No. 6698924, pp. 248–257 (2013)
Solari, M., Matalonga, S.: A controlled experiment to explore potentially undetectable defects for testing techniques. In: Proceedings of the 26th International Conference on Software Engineering and Knowledge Engineering (SEKE), Canada, pp. 106–109 (2014)
Gleirscher, M., Golubitskiy, D., Irlbeck, M., Wagner, S.: Introduction of static quality analysis in small- and medium-sized software enterprises: experiences from technology transfer. Softw. Qual. J. 22(3), 499–542 (2014)
Acknowledgment
The authors would like to thank CNPq and FAPERJ for the financial support (Project No. E-26/010.001578/2016, Title: “Resolution of Critical Problems of the Software Industry through Graph Theory and its algorithms”). Thanks also to the survey respondents, which provided us the initial configurations to test our approach.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Mendoza, I., Souza, U., Kalinowski, M., Interian, R., Murta, L.G.P. (2019). An Efficient Algorithm for Combining Verification and Validation Methods. In: Catania, B., Královič, R., Nawrocki, J., Pighizzini, G. (eds) SOFSEM 2019: Theory and Practice of Computer Science. SOFSEM 2019. Lecture Notes in Computer Science(), vol 11376. Springer, Cham. https://doi.org/10.1007/978-3-030-10801-4_26
Download citation
DOI: https://doi.org/10.1007/978-3-030-10801-4_26
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-10800-7
Online ISBN: 978-3-030-10801-4
eBook Packages: Computer ScienceComputer Science (R0)