The combination of all the options offered by a software can reach astronomical numbers, to several thousand digits. Research is developing tools to better manage this variability. Explanations during a conference on software sciences organized at the CNRS, in Paris, on September 19 and 20.
Whether it’s absently adjusting notifications for a popular app or carefully configuring a Linux session, everyone has access to different ways to customize their programs. However, this freedom has important technical consequences.
” In addition to fulfilling their missions, computer programs are supposed to meet the functional needs of users.explains Mathieu Acher, lecturer at the University of Rennes 1 and member of the Institute for Research in Informatics and Random Systems (Irisa). Some trust the default configuration, which is sufficient in many cases, but at the risk of missing an opportunity to improve the service. The programs must therefore respect security constraints, execution speed, energy consumption and many other parameters, then find a compromise between these parameters according to the demands of each user. These different configurations of the same program form what are called software variants.. »
An explosion of combinations to imagine
But these can be extremely numerous. If this is already true for rather simple applications, these figures reach absolutely crazy amounts for programs as complex as operating systems. Software variability then becomes a problem that seems insurmountable.
Just for a program with only thirty options, each limited to two choices, we get six billion variants.
” Just for a program with only thirty options, each limited to two choices, we get six billion variantssupports Mathieu Acher. If you take something like the kernel of the Linux operating system, and its fifteen thousand configuration options with up to three different possible values, you end up with a total of six thousand digits. »
This explosion of imaginable combinations affects those who develop and maintain the software as well as the users, and whether the program is a mobile game or a Mars rover system. It is then no longer possible to follow anything by hand to check that everything is working correctly and that there is no conflict between certain choices. Even with automatic techniques and if each test only took a second, the thirty-option example would take almost two hundred years to fully validate. However, in reality, each individual operation takes several minutes.
An AI to predict the properties of variants
The development of scientific methods adapted to navigation in these disproportionate sets is essential. Mathieu Acher is tackling this problem, in particular through feature modelskinds of tree structures that describe the different options of a range of products, here computer programs, with what each brings as new possibilities or incompatibilities.
The feature models are the easiest and most efficient way to capture a program’s feasible space.
” The feature models are formalisms that make explicit the options of a system, their available values and the constraints between themexplains Mathieu Acher. This last point is important, because some combinations do not work in the same software. This form of modeling is the simplest and most effective way to capture a program’s feasible space.. »
Using the example of the core of Linux and its fifteen thousand choices, Mathieu Acher has developed an artificial intelligence (AI), based on machine learning, which predicts the properties of variants without having to actually test them. The AI has generalized the information it has extracted from a limited number of cases, allowing it to make its predictions quickly with an error rate of only 5%. Mathieu Acher and his co-authors have also managed to ensure that this model evolves over time and takes into account the constant improvements made to Linux by its users.
” Linux is one of the most complex systems ever built by humanity, I am delighted to participate in it and that my work finds such a strong societal impact, rejoices Mathieu Acher. However, I was quite pessimistic at first, fearing that I would have to collect a gigantic amount of data to train the AI. In the end, it was well designed and its learning cost remained reasonable. »
Deep software variability, “an even more delirious space”
This solution makes it possible in particular to predict the size of the kernel necessary to operate Linux with certain priority options, for example when one wishes to embed it on small devices and processes. ” We would also like to be able to include more complex properties in the predictions, such as energy consumption or security level, but this requires even more extensive work.admits Mathieu Acher. Nevertheless, it remains an objective that we are aiming for.. »
We are quite good at predicting the execution time of a program, but only on fixed parameters. We want to generalize this to any possible variation on all machines in the twander. It’s quite a challenge!
Other challenges await the researcher, recently appointed as a junior member of the Institut universitaire de France (IUF). Mathieu Acher has launched a project on deep software variability in this context. ” We talked about software options, but other settings can have a strong impacthe points out. For example, the hardware configuration of the computer running the program, the nature of the data it processes, the operating system… We end up with an even crazier space. Thus, we manage quite well to predict the execution time of a program, but only on fixed parameters. We want to generalize this to any possible variation on all machines on earth. It’s quite a challenge! »
A project that joins another center of interest of Mathieu Acher: scientific reproducibility. These problems of deep software variability mean that the same algorithm can give a different answer depending on the device that performs the calculation. ” I want to improve the robustness of research results in the face of variability that is still poorly controlled “, he concludes. Because even scientific publications are not spared by the question. ♦
Conference “Software science: from idea to binary”organized by the Institute of Information Sciences and their Interactions (INS2I), in conjunction with the Programming and Software Engineering Research Group (GDR GPL), on September 19 and 20, 2022, at the CNRS headquarters in Paris.
Program and registrations on the INS2I website.
Find all our content dedicated to software science in the folder
Software, search engines