“O sed fugit interea fugit irreparabile tempus audeamus nunc.” ― Rilès
- Unit test amplification: exploiting existing unit test to generate better variants or new test method that improve the overall test suite's quality, e.g. increase the branch coverage.
- Configuration amplification: exploiting existing configuration test to create variants and execute the application in various configurations before production.
- Production amplification: exploiting production information to achieve specific tasks such as crash reproduction.
My research is mostly focuses on unit test amplification. I am exploiting existing test methods to create variants to increase the mutation score, detects automatically behavioral change, etc.
My work takes place within this project and is applied directly to the partners' code base. During my research, I develop strong prototypes and apply several software engendering methods: agility, unit testing, continuous integration, pull request development, bug tracker, etc.
Presentation of DSpot: a test suite amplification tool. slides
Presentation of Correctness Attraction: A Study of Stability of Software Behavior Under Runtime Perturbation. slides
Exploring the Perturbability Envelope in Software:
Perturbation is change in the state of a system at runtime. Such changes has a surprisingly low impact on the correctness (final output) of system according to our study. Does the equilibrium of the correctness of software is naturally present?
A live demo available on this link.
Development of N2S3: a Neural Network Scalable Spiking Simulator. Written in scala and using akka actors, N2S3 scale up and allow users to the simulate of neuro-inspired hardware accelerators. N2S3 got a real time UI to monitor the current state of the neuronal network.