Software

I coordinate and / or participate in the development of several software prototypes and tools. All this development activity aims supporting empirical investigations about the nature and the quality of software, as well as disseminating and transferring the results of my research work. Here I provide short presentations and pointers to these different software projects.

DSpot

Open source software tool for the automatic amplification of unit test cases. This tool implements the complete process of transformation, selection and evaluation of a set of unit test cases. The tool is implemented in Java and can amplify test cases implemented in JUnit. It is developed in the context of the STAMP project.

All sources are available on Github.

Descartes

Open source software tool for the automatic evaluation of test suite quality. This tool is implemented as a mutation engine for Pitest and is inspired by the concept of extreme mutation. The tool is implemented in Java and can assess the quality of test cases implemented in JUnit. It is developed in the context of the STAMP project.

All sources are available on Github.

AmIUnique

Open source web site, which has two essential purposes: inform the public about browser fingerprinting, through a collection of publications and web resources that explain and discuss this new technology; collect data for our research work about a counter-measure, based on software diversity, against tracking through fingerprinting.

All sources are available here: Github repo for amiunique.

Software diversification tool-box

In the context of the DIVERSIFY project, I coordinate the development of a tool-box to analyze, transform, test and automatically generate software diversity. The main components include a set of source code transformations to synthesize sosies of Java programs, a tool to perform and evaluate source code transformations, a lightweight library to instrument Java source code, used to collect fine-grained data about the interactions between a test suite and a program under test.

More details can be found in the paper published at ISSTA’14, as well as in our recent tech report.
All projects are available here: diversification toolbox on github.

Mitigating browser fingerprinting through proactive platform diversification

We develop a tool called Blink, which leverages virtualization and modular architectures to automatically assemble and reconfigure software components at multiple levels. We operate on operating systems, browsers, fonts and plugins. This work is the first application of software reconfiguration to build a moving target defense against browser fingerprint tracking. The main objective is to automatically modify the fingerprint a platform exhibits.

More details can be found in the paper published at SEAMS’15, and all sources and documentation are available here: Blink with Docker on github.