European Commission logo
français français
CORDIS - Résultats de la recherche de l’UE
CORDIS

Program Analysis and Reorganization, as a Service

Article Category

Article available in the following languages:

Une analyse logicielle adaptée au monde complexe d’aujourd’hui

L’analyse avancée peut permettre aux programmeurs professionnels de développer des logiciels plus fiables et plus performants et de suivre le rythme imposé par les exigences de notre ère numérique.

Économie numérique icon Économie numérique

L’analyse statique des programmes est une technique informatique qui consiste à estimer tous les résultats possibles d’un programme logiciel. Une analyse typique peut porter sur tout le code exécutable, ou sur toutes les façons dont un programme est susceptible de communiquer avec ses utilisateurs ou le réseau. «Les programmeurs professionnels utilisent les résultats de l’analyse statique pour améliorer leur logiciel, soit en le rendant plus performant, soit en corrigeant les erreurs de programmation», explique Yannis Smaragdakis, coordinateur du projet PARSe et professeur au département d’informatique et de télécommunications de l’Université d’Athènes, en Grèce. «Par exemple, une analyse peut indiquer au programmeur quelles parties du code ne seront jamais exécutées. Ce code peut dès lors être supprimé.»

Un monde complexe

L’un des principaux défis réside dans le fait que l’innovation technologique progresse à un rythme soutenu. «Les programmes informatiques sont aujourd’hui parmi les choses les plus complexes que l’humanité ait jamais créées», remarque Yannis Smaragdakis. Cette complexité s’est accrue de façon exponentielle au cours des dernières décennies. En outre, les logiciels occupent une place de plus en plus importante dans notre vie quotidienne. Les logiciels avancés sont partout, des applications que nous téléchargeons sur nos smartphones aux modèles statistiques utilisés par les sociétés Internet pour collecter et interpréter de gigantesques quantités de données. «La demande de logiciels fiables et performants est énorme et ne cesse de croître», confie-t-il. «Cela signifie que les programmeurs ont besoin de techniques d’analyse plus avancées, capables d’évaluer même les programmes les plus complexes.» Le projet PARSe a été lancé en 2015 pour répondre à cette demande. «Notre objectif était de relier la recherche de pointe en matière d’analyse statique aux applications de développement de logiciels avancés», explique Yannis Smaragdakis. L’équipe du projet a pour cela développé un prototype d’interface utilisateur basée sur le web. Celle-ci permet aux programmeurs d’accéder à l’analyse et de naviguer plus facilement dans le code d’un long programme. Les programmeurs peuvent alors recourir au service d’analyse statique pour poser des questions de compréhension clés, notamment en ce qui concerne les vulnérabilités de sécurité. Des réponses sont ensuite apportées à l’aide d’algorithmes développés au cours d’un précédent projet, SPADE, financé par le CER. Le projet PARSe a fait évoluer la recherche en intégrant ces algorithmes dans une interface utilisateur basée sur le web.

Accéder à des analyses avancées

Yannis Smaragdakis est convaincu que le prototype peut aider les programmeurs professionnels à optimiser le code et à détecter les bogues, même dans les logiciels les plus complexes. «Il s’agit d’une tâche majeure dans le développement de logiciels modernes», fait-il remarquer. «Les grandes entreprises consacrent des sommes considérables à l’analyse des programmes et au soutien au développement. Les récentes acquisitions de sociétés d’analyse statique ont été de l’ordre de plusieurs centaines de millions d’euros.» Dans ce contexte, le développement et la commercialisation éventuels d’outils d’analyse de programmes de nouvelle génération pourraient constituer un aboutissement considérable du projet. Des mesures ont déjà été prises pour préparer la commercialisation de la technologie. «Nous avons développé un outil d’optimisation Android afin de déployer le programme sur les téléphones et les tablettes», ajoute Yannis Smaragdakis. «Cela permettra aux programmeurs de consulter tout le code qu’ils ont développé. Les solutions actuellement sur le marché sont très complexes et ont tendance à être sujettes aux erreurs.» La commercialisation du prototype est actuellement à l’étude en coopération avec l’accélérateur d’entrepreneuriat de l’Université d’Athènes. «J’espère voir un jour le prototype PARSe évoluer vers un outil qui sera adopté par le plus grand nombre», ajoute-t-il. «Il s’agit là d’une passerelle permettant d’introduire une recherche en analyse statique encore plus avancée dans le développement de logiciels courants.»

Mots‑clés

PARSe, code, programmeur, logiciel, numérique, Android, réseau, internet

Découvrir d’autres articles du même domaine d’application