An introduction to formal testing (with applications)
In this talk, I will review some of the approaches and methodologies that constitute the corpus of formal testing. Specifically, I will introduce notions such as conformance testing, the use of mutation testing in formal testing, metamorphic testing and passive vs. active testing. The presentation will skip complex formalisms and will focus on intuitive explanations and applications. The overall goal of the talk is to show the advantages of using a formal approach to perform testing activities during the development of software systems.
About the speaker
Manuel Núñez is a Professor in the Department of Computer Systems and Computation of the Complutense University of Madrid, Spain. He holds a
Doctorate degree in Mathematics & Computer Science, obtained in 1996. Additionally, he holds a Master degree in Economics, obtained in 2002.
Professor Núñez has done research in the broad field of formal methods. Currently, he is interested in the study of formal methods for testing
Professor Núñez is a member of several Editorial Boards of journals. He has served in more than 130 Program Committees of international events in Computer Science. He has published more than 140 research papers in international scientific journals and meetings.
Improving correctness with contracts in C++20.
Contracts programming is based in the idea that any operation has a number of preconditions and postconditions. Different instantiations of this idea have been used in different programming languages (Eiffel, Ada2012, C#, D). However, the own characteristics of C++ and the wide variety of application domains where it is used make necessary slightly different approaches. In this talk, I will briefly cover the general ideas behind contracts programming with special attention the the difference between robustness and correctness. Then I will provide details on how these ideas have been incorporated into C++20.
About the speaker
José Daniel García is an Associate Professor in Computer Architecture at the Computer Science and Engineering Department of University Carlos III of Madrid. He has been serving as head of the Spanish delegation to ISO C++ standards committee since 2008. Before joining academia he worked as a software engineer in industrial projects in different domains including real time control systems, civil engineering, medical imaging, aerospace engineering, and high performance scientific computing. As a researcher, he works on parallel and distributed systems within the ARCOS research group. His work is within the research line of Programming Models for Applications Improvement (making faster and/or more energy efficient applications while balancing software maintenance). He has led the participation of UC3M in European projects, highly related to the use of parallelism in C++. His main research goal is to make software developer lives easier by balancing software maintainability and application performance. In summary easier to read, faster to run, and less resources consumed.