picture: geralt / pixabay

AI Learns How to Handle Software Evolution

Machine learning facilitates the automated development of self-adaptive systems. A promising approach for the maintenance and further development of such systems has now been developed by paluno researchers. It is based on software product line engineering.

Previous machine learning methods for self-adaptive systems can handle changes in the environment (see "AI takes over work from software engineers"), but they are blind to changes in the system itself, which typically occur during the manual development or maintenance of a system. Such software evolution activities can introduce new system functionalities or change or even remove existing functionalities. This may affect possible adaptations of the system: new adaptation possibilities can be added, existing ones may have different effects, previous ones may be omitted. If these changes are not considered in the learning process, this can lead to new adaptation possibilities not being adequately considered or to adaptations that are no longer permitted being carried out anyway.

The Software Systems Engineering group of Prof. Klaus Pohl, together with research partners from the University of Lille and the Politecnico Milano, has investigated how knowledge about the changes in adaptation possibilities can be made available to the learning process. For this purpose, the knowledge is specified in the form of so-called feature models from software product line engineering. These feature models represent the possible adaptations in a compact and machine-readable form. Differences between the variability models before and after an evolutionary step are used to control the learning process systematically and specifically. For example, newly added adaptations can be executed with a higher probability than already known adaptations.

Dr. Andreas Metzger will present the approach at the International Conference on Service-Oriented Computing in December.

A. Metzger, C. Quinton, Z. Mann, L. Baresi, and K. Pohl, “Feature model-guided online reinforcement learning for self-adaptive services,” in 18th Int’l Conference on Service-Oriented Computing (ICSOC 2020), Dubai, UAE, December 14-17, 2020, ser. LNCS, E. Kafeza, B. Benatallah, and F. Martinelli, Eds., vol. NN. Springer, 2020 – to be published.

Feature model and adaptation using the example of a web service