This text is part of the Special Acfas Congress notebook
Artificial intelligence (AI) only assists engineers in their tasks: it begins to rethink with them the very way of designing software and systems. However, this collaboration has its share of challenges.
From code development to the management of critical infrastructure, including the optimization of test and maintenance processes, AI is now established as a full partner of software engineering. This collaboration will also be discussed on Monday May 5 at the ACFAS Congress, during a conference entitled Synergy between software engineering and artificial intelligence: innovations and challenges for the future of systems.
Although many are those who associate AI with a Chatgpt conversational robot – whose general public deployment took place in November 2022 -, it has been used in software engineering for many years, underlines Manel Abdellatif, professor in the Department of Software Engineering and TI of the School of Higher Technology (ETS).
“AI is not limited to generative artificial intelligence,” she says. Technology has been used for the classification of images, audio processing and other aspects that have nothing to do with Chatgpt for several years. »»
“In software engineering, you can use AI to secure software systems and test them,” she adds.
Modern software is more and more complex, underlines his colleague Julien Gascon-Samson. “It is no longer a single program that rolls on a computer: it is generally a set of services, some of which are in the infonuagic, and databases,” he explains. The AI can then make the bridge between certain components.
A tool to tame … and to secure
The integration of AI into software engineering, however, poses its share of challenges. One of them concerns the lack of training or information available to millions of users who learn technology in a rather self -taught manner.
“Many developers use non -optimal services or incorporate models [d’IA] in their software systems, which can negatively affect the quality or performance of the software, ”explains Mme Abdellatif.
The data security issue is quickly raised. Once in the cloud, could sensitive information be accessible to anyone?
“Private companies that develop their own internal tools generally use AI well,” emphasizes Mme Abdellatif. They respect rigid ethical standards and rules. Where it is more problematic, it is in the systems open source [accessibles au grand public]. »
One way to ensure the confidentiality of certain data while using it to cause algorithms is federated learning, says Gascon-Samson.
-“It is notably used in the medical field,” he develops. AI is involved in detecting diseases from medical imaging, but this remains sensitive data about patients. »»
To get around the problem, health establishments or research centers locally enter the data to cause an algorithm. The result of this training, which anonymous information, is then paired with the results of other partner establishments to obtain a larger database with which another AI will train.
For conscientious use of the environment
Energy consumption of algorithms that fuel AI tools (in software engineering and beyond) is another negative impact of this technology.
“AI language models are very greedy in resources. Training them generates astronomical costs; We are talking about tens or hundreds of millions of dollars, ”says Gascon-Samson.
To illustrate how some algorithms consume electricity, the researcher says that a large American company who developed a tool was considering buying nuclear power plants to feed it.
There are obviously more modest and less energy -consuming AI tools, but they are less efficient, says the researcher.
Mr. Gascon-Samson suggests to its students and users of AI tools to weight their needs before determining which system to use. “It is as if we chose to go to work every day in Ferrari when we could very well go by bicycle, illustrates the professor. If a smaller model can do the work, it is better to favor it. »»
Automatize, yes. Sort ? Not too much.
The main advantage of AI in software engineering is its information processing capacity, far superior to that of developers. It is therefore possible to quickly synthesize a very large amount of data and to cause the device to process it properly, which corresponds to a productivity gain for organizations.
Julien Gascon-Samson goes there for caution: these gains could however cost jobs. “It’s already started,” he warns. It is difficult to predict the consequences of the rapid development of AI on the labor market, but you have to be aware of this reality. »»
If it automates certain tasks and divert humans, the integration of AI into software engineering is not necessarily the panacea. “It poses a challenge compared to the different tests that could be done on software,” says Manel Adbellatif. The AI is very effective in detecting bugs and optimizing tests, but the problem is that it does not necessarily manage to select the best data or design cases to test. »»
Technology is therefore not able – for the moment – to do without the judgment and supervision of the human being.
This content was produced by the team of special publications of Dutyin marketing. Journalists from the editorial staff of Duty did not take part.
To watch in video
Related news :