Behavioral Maps
: A Framework to Assess and Validate Self-Adaptive Architectures at Runtime

Student thesis: Doc typesDocteur en Sciences


A Self-adaptive System (SAS) is a specialized system designed to handle changes that may occur in the operating environment. This system accomplishes this by triggering necessary adaptations at runtime. These adaptations can change the system’s structure, behavior, or even its adaptation mechanism. However, it is essential to note that these changes can introduce defects and architectural issues (e.g., architectural bad smells) into the system, which can cause it to fail during runtime. As such, it is crucial to carefully monitor and manage these adaptations to maintain the system’s reliability. In order to ensure system performance and integrity, it is essential to conduct thorough testing and architectural analysis while the system is running. Although previous studies available in the literature have focused mainly on analyzing architectural issues and testing during the design phase, evaluating the system at runtime is equally essential. Thus, this thesis proposed the Behavioral Map framework.

During system-under-test (SUT) execution, our framework can recognize feature interactions and architectural bad smells (ABS), such as Cyclic Dependency, Extraneous Connector, Hub-Like Dependency, and Oppressed Monitors. Also, the Behavioral Map generates a graphical map that describes the configuration analyzed at runtime. This map enables us to determine the testing boundaries and to dynamically generate test cases based on the selected scope, which could be determined through either Feature Relationship Analysis or ABSs Analysis. Also, the test case generation processes can generate tests using the following strategies: i) adaptive-random test generation, ii) evolutionary algorithms to generate tests, and iii) combinatorial test design to generate test cases.

The Behavioral Map has been implemented in two versions. The first, the Behavioral Map White Box, is implemented as reusable building blocks that allow their incorporation into the system under analysis. The last version, the Behavioral Map Black Box, automatically executes the SUT methods from the host Java Virtual Machine. This allows the Behavioral Map Black Box to identify features loaded at runtime based on parameters defined by software developers without requiring code instrumentation and source code recompilation of SUT, unlike the Behavioral Map White Box. Through our research, we have conducted various studies to evaluate our approach. In the first study, we analyzed the process of identifying feature interaction and ABS detection at runtime in three SASs. Our findings indicated that some ABS only appear in specific system configurations or architectures. The second study compared ABS detected at runtime to those detected at design time, revealing differences between the two. Lastly, we focused on assessing the feasibility of our testing approach, and our results show that it is feasible to select the test scope at runtime to SASs.
la date de réponse12 sept. 2023
langue originaleAnglais
L'institution diplômante
  • Universite de Namur
SuperviseurGilles Perrouin (Promoteur), Pierre Yves Schobbens (Promoteur), Marie-Ange Remiche (Président), Vincent Englebert (Jury), Kim Mens (Jury) & Claudia Raibulet (Jury)

Contient cette citation