Metrics est une bibliothèque open-source écrite en Python ainsi qu’une application web développée au CRIL par l’équipe WWF (Hugues Wattez, Romain Wallon et Thibault Falque), conçue pour faciliter la réalisation d’expérimentations et leur analyse. L’objectif principal de Metrics est de fournir une chaîne complète d’outils allant de l’exécution du logiciel à l’analyse de ses performances. Le développement de Metrics a commencé en partant du constat que, dans la communauté SAT, le processus d’expérimentation des solveurs reste en grande partie le même : la plupart du temps, ce sont les mêmes statistiques sur l’exécution du solveur qui sont collectées. Cependant, il existe probablement autant de scripts que de chercheurs du domaine pour récupérer ces données expérimentales et produire les figures associées. Il paraît donc clair qu’un outil unifiant et facilitant l’analyse des expérimentations des solveurs est nécessaire.

L’ambition de Metrics est donc de simplifier la récupération des données expérimentales à partir de nombreuses entrées différentes (y compris les fichiers produits par le solveur), et fournir une interface simple pour produire des graphiques communément utilisés, calculer des statistiques sur l’exécution du solveur, et organiser le tout en un minimum d’efforts. Au final, le but principal de Metrics est de favoriser le partage et la reproductibilité des résultats expérimentaux et de leur analyse.

Dans ce sens, l’application web de Metrics, alias Metrics-Studio, permet de tracer des graphiques connus de la communauté, tels que des cactus-plots et des scatter-plots, à partir de fichiers CSV ou JSON afin de fournir un aperçu rapide des expérimentations menées. Partant de cette vue d’ensemble, il est ensuite possible d’utiliser localement la bibliothèque Metrics pour pouvoir générer plus finement les graphiques souhaités, par exemple grâce à l’utilisation de notebooks Jupyter.

Aller sur la page web du logiciel