Testing Antescofo

Wed. Feb.  11th  , 17h30, Collège de France Room 1 :  Testing Antescofo, by Clément Poncelet (IRCAM)

The role of an interactive music system (IMS) is to accompany musicians during live performances, like a real musician. It reacts in realtime to audio signals from musicians, according to a timed specification called mixed score, written in a domain specific language. Such goals imply strong requirements of temporal reliability and robustness to unforeseen errors in input, yet not much studied in the computer music community. We present the application of model-based testing techniques and tools to a state-of-the-art IMS, Antescofo. Our approach enables fully automatic test scenarios, from specification to execution and verdict. It works in several steps:

(i) compilation of a mixed score into a model describing the expected timed behavior of the IMS when playing the score ;

(ii) generation of relevant input data for testing, with timing values, following coverage criteria;

(iii) computation of the corresponding expected output, according to the semantics of mixed scores ;

(iv) black-box execution of the test data and verdict.

The model-checker Uppaal is used in steps (ii) and (iii), after the conversion of our formal models into timed automata. This method has been applied both to benchmarks and to real mixed scores used in concerts. The results obtained have permitted to identify bugs in the target IMS.

Le rôle d’un système d’interactions musicales (IMS) est d’accompagner les musiciens directement lors de performances (en live), comme le ferait un véritable musicien. Il réagit en temps réel à des signaux audios, venant de musiciens, tout en suivant une spécification temporisée. Celle-ci est appelée une partition mixte et écrite dans un langage de domaine spécifique (DSL). Ces actions nécessitent un grand besoin de fiabilité temporelle et d’une résistance/stabilité aux erreurs d’entrée, peu étudiées dans la communauté de l’informatique musicale. Nous présentons des techniques de tests basés sur modèle et des outils que nous appliquons à l’IMS, Antescofo. Notre approche consiste en des scénarios de tests entièrement automatiques, depuis la spécification jusqu’à l’exécution et le verdit. Elle fonctionne en plusieurs étapes :

(i) La compilation d’une partition mixte vers un modèle décrivant le comportement temporisé attendu de l’IMS pendant un jeu sur la partition.

(ii) La génération de données d’entrée pertinentes pour nos tests, comprenant des valeurs temporisées et suivant un critère de couverture.

(iii) Un calcul des sorties attendues correspondantes, selon les sémantiques des partitions mixtes.

(iv) Une exécution “boite noire” des données de test et la création du verdict.

Le “model-checker” Uppaal est utilisé aux étapes (ii) et (iii), après la conversion de nos modèles formels en automates temporisés.Cette méthode a été appliquée sur une benchmark et des partitions mixtes utilisées en concert. Les résultats obtenus nous ont permis d’identifier des bugs sur l’IMS cible.