Accélérer l’étude des versions d’un logiciel grâce à un assemblage incrémental
Le passage de lignes de code à un logiciel fonctionnel s’appelle un build, ce qui en fait un concept absolument crucial pour le développement logiciel. Différents types de builds sont disponibles, comme les builds incrémentaux qui intriguent des chercheurs de l’Institut de recherche en informatique et systèmes aléatoires (IRISA, CNRS/Université de Rennes 1). Les derniers travaux de cette équipe expliquent en quoi ils peuvent offrir d’importants gains de vitesse et d’économies de ressources, et ont été retenus pour la prestigieuse conférence ICSE 2022.
La majorité des logiciels existe sous de multiples versions à la fois, combinant de nombreux éléments et options. Le build est l’assemblage de ces parties et modules de code, qu’il compile, vérifie et teste en fonction des différents scénarios possibles. Build désigne à la fois le fait de transformer un code source en un logiciel qui fonctionne, et le résultat de cette action.
Les builds jouent ainsi un rôle essentiel dans le développement, et sont au cœur de l’International conference on software engineering (ICSE), considérée depuis 1975 comme la principale conférence mondiale en génie logiciel. La 44e édition s’est tenue tout au long du mois de mai, en visioconférence ainsi qu’en présentiel à Pittsburgh en Pennsylvanie. La seule publication française retenue cette année, dans le programme principal de la conférence, est issue de travaux d’une équipe de l’IRISA.
Cette publication s’intéresse en particulier aux builds de logiciels configurables, c’est-à-dire adaptables aux besoins de l’utilisateur ou aux particularités de la machine sur laquelle le logiciel sera déployé. Les différentes possibilités débouchent sur un nombre de configurations pouvant être colossal. Il faut cependant pouvoir tous les prendre en compte, ou un large échantillon représentatif, pour s’assurer que les prochaines évolutions logicielles seront en cohérence. Ainsi, plus il y a de configurations possibles, et plus les modifications coûtent cher à tester.