Share this Job

Stage 6 mois en OCaml: générateur de mutants pour le langage SCADE H/F

Apply now »

Date: Nov 25, 2021

Location: Toulouse, FR, 31100

Company: Ansys

Ansys is the global leader in engineering simulation, helping the world's most innovative companies deliver radically better products to their customers. By offering the best and broadest portfolio of engineering simulation software, Ansys helps companies solve the most complex design challenges and engineer products limited only by imagination.


Stage rémunéré de 6 mois à Toulouse

Contexte :

Dans le cadre de son activité d’édition logicielle d’outils d’aide à la conception de systèmes embarqués critiques, Ansys propose un stage pour réaliser en Ocaml un générateur de mutants pour le langage SCADE.

Mots-clés: SCADE, OCaml, mutation de programmes, test

Sujet :

L’objet du stage est de réaliser un état de l’art en matière de mutations de programme, de l’appliquer aux langages synchrones (Lustre / SCADE) et de mettre en pratique les résultats dans un prototype.

Le principe est de partir d’un programme SCADE et d’un ensemble de traces d’exécution de ce programme, d’introduire plus ou moins aléatoirement des modifications dans ce programme et de comparer les traces d’exécutions entre elles.

La première application de ce prototype est de venir renforcer les activités de test classiques du compilateur SCADE par une approche automatique de la création pseudo-aléatoire de programmes SCADE. Une telle approche a déjà été mise en place par le passé et montré son efficacité dans la validation des outils liés au langage SCADE. Une approche envisagée est d’obtenir par mutations d’un même programme SCADE plusieurs variantes ayant le même comportement attendu et de vérifier par exécution des outils testés que c’est effectivement le cas.

Une autre application possible d’un générateur de mutants est l’estimation de la qualité d’une base de test (Mutation Testing): le principe est que si la mutation d’un programme, n’est pas détectée par au moins un test, alors on peut considérer qu’il manque un test à la base pour qu’elle soit complète.

L’objectif du stage est:

1/ De faire un état de l’art sur la génération de programmes, soit à base d’un générateur pseudo-aléatoire, soit à base de mutation de programmes existants. Un intérêt particulier sera à accorder à la correction des programmes générés dans les deux cas, car il n’est pas possible de générer du code pour un programme SCADE incorrect;

2/ De réaliser un prototype permettant de générer tout ou partie des constructions du langage et de ses récentes extensions;

3/ D’étudier dans quelle mesure le prototype pourrait être utilisé pour générer les langages intermédiaires du générateur de code, afin de pouvoir tester individuellement les composants du générateur de code.


Productions attendues :

  • Un état de l’art concernant la génération pseudo-aléatoire et la mutation de programmes
  • Un prototypage d’un générateur de programmes Scade et/ou d’un outil permettant de réaliser des mutations de programmes Scade

Profil :

  • Master ou école d’ingénieurs en informatique
  • Connaissances requises : OCaml
  • Un goût prononcé pour la programmation

Durée du stage :

6 mois

Bibliographie :


Culture and values are incredibly important to Ansys. They inform us of who we are, of how we act. Values aren't posters hanging on a wall or about trite or glib slogans. They aren't about rules and regulations. They can't just be handed down the organization. They are shared beliefs – guideposts that we all follow when we're facing a challenge or a decision. Our values tell us how we live our lives; how we approach our jobs. Our values are crucial for fostering a culture of winning for our company:

  • Customer focus
  • Results and Accountability
  • Innovation
  • Transparency and Integrity
  • Mastery
  • Inclusiveness
  • Sense of urgency
  • Collaboration and Teamwork

At Ansys, you will find yourself among the sharpest minds and most visionary of leaders, collectively aiming to change the world with innovative technology and remarkable solutions.  With the prestigious reputation in servicing well-known, world-class companies, standards at Ansys are high, met by those willing to rise to the occasion and meet those challenges head-on.  Because at Ansys, it’s about the learning, the discovery and the collaboration.  It’s about the “what’s next” as much as the “mission accomplished”.  It’s about the melding of disciplined intellect with strategic direction and results that have, can and will impact real people in real ways, forged within a working environment built on respect, autonomy and ethics.
At Ansys, you will find yourself among those eager to drive the world towards the next best thing with hands planted firmly on the wheel.
Our team is passionate about pushing the limits of world-class simulation technology so our customers can turn their design concepts into successful, innovative products faster and at lower cost.  As a measure of our success in attaining these goals, Ansys has been recognized as one of the world's most innovative companies by prestigious publications such as Bloomberg Businessweek and FORTUNE magazines.
Ansys is an S&P 500 company and a component of the NASDAQ-100.
For more information, please visit us at www.ansys.com
Ansys is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, veteran status, and other protected characteristics.
Ansys does not accept unsolicited referrals for vacancies, and any unsolicited referral will become the property of Ansys.  Upon hire, no fee will be owed to the agency, person, or entity.