ARL - Assistant à la Ré-ingénierie Logicielle

Par Olivier Haas février 12, 2025

ARL (v1) est un outil de type IPM/IDM (Ingénierie Par Modélisation / Ingénierie Dirigée par les Modèles) qui assiste à la ré-ingénierie par une technologie alliant Méthodes Formelles, Intelligence Artificielle, et Théories de l’Argumentation.


1. Caractéristiques-clés
2. Distributions
3. Cas d’utilisation
4. Vision
5. Positionnement
6. Agenda
7. Tarifs


 
 

1. Caractéristiques-clés

  • Allie la rigueur mathématique des méthodes formelles, à l’apport des IA, associées aux théories de l’argumentation, pour l’ineraction homme-machine.
    • L’expression formelle fournit la sémantique aux SIA (Systèmes d’IA). . Les SIA, en retour, formulent des propositions. . Ces propositions sont passées au crible des méthodes formelles.
    • Le couplage des SIA aux théories de l’argumentation (par exemple, l’argument de Toulmin) permet d’obtenir une formulation encore plus humaine et interactive des théorèmes manipulés.
  • Tous les langages dont une grammaire ANTLR4 existe (tels Java, Python, C, C++, Javascript, Typescript, Cobol, …) sont d’ores et déjà pris en charge, ou peuvent rapidement l’être. Les autres langages nécessitant donc au préalable l’écriture de leur grammaire ANTLR4.
  • L’outil sous-jacent pour l’aspect formel est l’assistant de preuves Coq.
  • La première méthode formelle mise en œuvre est la Méthode B.
  • L’interface avec l’homme est faite en UML et en langage naturel.

 
 
 

2. Distributions

  • En mode infonuagique (SaaS) sur nos machines, dès juin 2025.

 
 
 

3. Cas d’utilisation

  1. En fonction des artefacts de départ, la configuration Méthodes_Formelles-IA est ajustée :
    • La ou les Méthodes Formelles sont déterminées.
    • Le ou les Systèmes d’IA sont créés et entraînés.
  2. La configuration est utilisée.
  3. Des contrôles réguliers sont effectués sur les SIA qui apprennent en-ligne.
  4. Des mises-à-jour et améliorations sont apportées régulièrement sur les systèmes (lemmes, ré-apprentissage, etc.)

 
 
 

4. Vision

  • Dans la collaboration homme-machine qui anime le génie logiciel, la machine intervient de diverses façons, via différents éléments :
    • Via les grammaires,
      • qui contraignent à certaines règles de cohérence et de complétude, à un niveau donné d’abstraction.
    • Via l’inférence de type,
      • qui pousse plus loin ces controles,
    • Via des preuves horizontales,
      • qui pousse encore plus loin ces mêmes contrôles, jusqu’à leur dégré maximal.
    • Via des preuves verticales,
      • qui garantissent la cohérence et la complétude du raffinement, depuis un niveau donné d’abstraction vers un niveau plus bas.
    • Via des IA,
      • qui proposent, soit horizontalement, soit verticalement, des actes d’ingénierie (ou de rétro-ingénierie dans le cas vertical ascendant).  
         
  • Si l’on considère que l’homme propose des actes d’ingénierie (ou de rétro-ingénirie), on voit donc que :
    • l’homme et l’IA proposent ces actes ;
    • les autres éléments (grammaires, inférences de types, prouveurs) évaluent la licéité de ces actes à l’aune de la conservation de la cohérence et de celle de la complétude, en donnant la plupart du temps une explication aux refus éventuels. L’interaction homme-machine pouvant être mieux mise en forme humaine, c’est-à-dire par des arguments, en recourant aux théories de l’argumentation.  
       

C’est donc par une collaboration entre l’IA d’une part, et les 4 éléments de contrôle d’autre part, que l’Assistance à la Ré-ingénierie peut rendre les plus grands services à l’ingénieur.

 
 
 

5. Positionnement

  • Tout type d’organisation et de projet est candidat à retirer des bénéfices d’un Assistant à la Ré-ingénierie Logicielle : du simple refactoring (défini comme de la “reconception après écriture”), à la refonte totale du Système d’Information, ces bénéfices porteront sur la valeur (plus grande efficacité et rapidité du cycle), la qualité (moins de bugs et/ou d’erreurs de conception), et la maîtrise du risque (meilleure visibilité sur le code et les différents niveaux d’abstraction).

 
 
 

6. Agenda

  • La solution sera mise en ligne en juin 2025.

 
 
 

7. Tarifs

  • Les contextes pouvant être très différents, tant qualitativement que quantitativement, il nous semble plus pertinent d’aborder la question tarifaire dans le cadre d’une réponse globale à votre besoin : voici notre formulaire de contact.