-
Université de Rennes 1
- Temporary Lecturer and Research Assistant In Software Engineering (ATER)
2016 - 2017
Teaching software engineering at the "Université de Rennes 1"
I give practical sessions and tutorials for Master classes and Undergraduate level
Main courses focus mainly on:
- Supervising V&V projects, Master 2 in Software Engineering:
*Propose several projects related to software testing.
*Supervising students during a period of 4 months.
*Attend and evaluate final project defenses.
-Design Patterns, Master 1 in Computer Sc. (in English).
-Relational DB, Master 1 in Computer Sc.
-Object-oriented development in JAVA, Undergraduate level in Computer Sc.
-Software development in JS and HTML5, Undergraduate level in Computer Sc.
-Web development in AngularJS, JPA, and DB MySQL/MangoDB, Master 1 in Computer Sc.
-Scientific programming in Python, Undergraduate level in Chemistry/Physics
-Web and distributed systems: UML, Git, JUnit, Maven, Servlet, Jenkins, GWT, RESTful Web Services, Jersey, JAX-RS, Master 1 classes in Computer Sc. Applied to Business Administration
-
INRIA
- PhD student
Le Chesnay
2013 - 2016
Generative software development has paved the way for the creation of multiple generators (code generators and compilers) that serve as a basis for automatically producing software artifacts to a broad range of software and hardware platforms. In addition, modern generators (i.e., C compilers) become highly configurable, offering numerous configuration options that the user can easily apply to customize the generated code for the target hardware platform. Consequently, the quality of generated software becomes highly correlated to the configuration settings as well as to the generator itself. In this context, it is crucial to verify the correct generators behavior, especially for the non-functional properties.
In this thesis, we achieve three main contributions:
- Contribution I: Automatic non-functional testing of code generator families.
Evaluate the non-functional properties (performance and resource usage); leverage the metamorphic testing approach to automatically detect inconsistencies in code generator families; statistical analysis of the non-functional data (PCA et R-chart); evaluation of open-source projects such as HAXE and ThingML generators, analysis of detected inconsistencies.
- Contribution II: NOTICE, an approach for auto-tuning compilers.
Apply mono and multi-objective optimisation for compiler auto-tuning (e.g., Novelty Search, GA, NSGA-II, RS); define optimisation levels higher than standard levels (e.g., -O2, -O3, -Ofast, etc.); test GCC compilers.
- Contribution III: A lightweight execution environment for automatic generators testing and monitoring.
Automatic tests deployment and execution within lightweight system containers (i.e., Docker); runtime monitoring of running test suites; automatic extraction of resource usage metrics (memory and CPU consumption).
-
INRIA/Université De Rennes 1
- PhD in Computer Science
2013 - 2017
-
Missouri University, USA
- Research Intern
2013 - 2013
Here the abstract of the work that has been done at the SBSE Lab @Missouri, USA: (you can find the link of the full document in the publication section)
Software bad-smells, also called design anomalies, refer to design situations that may adversely affect the maintenance of software. Bad-smells are unlikely to cause failures directly, but may do it indirectly. In general, they make a system difficult to change, which may in turn introduce bugs. Although these bad practices are sometimes unavoidable, they should be in general fixed by the development teams and removed from their code base as early as possible. In this paper, we propose, for the first time, the use of competitive coevolutionary search to the code-smells detection problem. We believe that such approach to code-smells detection is attractive because it allows combining the generation of code-smell examples with the production of detection rules based on quality metrics. The main idea is to evolve two populations simutaneously where the first one generates a set of detection rules (combination of quality metrics) that maximizes the coverage of a base of code-smell examples and the second one maximizes the number of generated “artificial” code-smells that are not covered by solutions (detection rules) of the first population. The statistical analysis of the obtained results shows that our proposed approach is promising when compared to two single population-based metaheuristics on a variety of benchmarks.
-
TALAN
- Web Developer
Paris
2012 - 2012
Contribute to the development of Talan’s website (a kind of CMS for Talan) using the Framework Symfony2/PHP5.
-Provide back-end support to: manage data and user rights, efficiently manage the DB with CRUD operations, etc.
-Provide front-end support to: create Talan’s Blog, enhance the GUI, organize internal events, etc.
-
Elite Nabeul
- Engineering Intern
PARIS
2011 - 2011
Application development using J2EE to manage Elite’s internships.
-Provide a J2EE Application based on EJB3 to manage internships and job applications within Elite.
-Provide an application to design Workflows and small application using GWT
-
TIM, Techniques Industrielles et Management
- B.Sc. Intern
2010 - 2010
Design and implementation of an integrated dashboard: Quality, Production and Maintenance using Windev 14.
-Define the KPIs
-Integrate a decision-making support tool
-Provide audit agenda
-Detect quality and production defects, etc.