Curriculum Vitae
Personal details
Hordagaten 20
N-5055 Bergen
Norway
- Nationality
French
- Date of birth
1982
- Mobile
+47 936 36 172
Education
- 2005 to 2009
-
PhD at University of Bergen
Bergen, NorwayThesis: Language Constructs for C++-like languages: tools and extensions. Print and digital versions available on demand.
- 2000 to 2005
-
École Pour l'Informatique et les Techniques Avancées (ÉPITA)
Paris, France
Specialization: Computational Science and Image - 1997 to 2000
-
Lycée Alexis de Tocqueville
Cherbourg, France
Scientific baccalauréat (French A-levels)
Engineering science, mathematics, computer, experimental science
Experience
- January 2011 to June 2011
-
Researcher at UniResearch (University of Bergen)
I have been making an automated concept-based testing C++ library to demonstrate the power of concepts as specification, and concept-driven development.
- January 2010 to December 2010
-
Researcher at the University of Bergen
The big part of my research was to explore the use of expression templates applied to generic program transformation, expressing concepts for Stratego/XT, Rascal and other similar project into a pure C++ library. The project coming with a generalized LL parser generator.
- March 2009 to December 2009
-
Software engineer at UiB, Bergen, Norway on Magnolia project
- March 2009 to May 2009
-
Teaching assistant at UiB, Bergen, Norway
- Sep 2005 to Feb 2009
-
Research fellow at UiB, Bergen, Norway
Under supervision of Magne Haveraaen on SAGA-GEO: (Scientific with Algebraic and Generative Abstractions)My task is to enhance and develop C++ meta programming tools, providing extra programming paradigms to the language to provide more abstraction power while keeping the program fast. The principal motivation was to provide tools to Sophus, a C++ numerical library for geophysical applications.
- May 2007 to October 2007
-
Intern at Lawrance Livermore National Laboratory, Livermore, California, USA
Under supervision of Dan Quinlan on ROSE.I developed a ROSE backend for Stratego/Spoofax. ROSE is a framework for C++ source analysis and transformation, whereas Stratego is a language for program transformation. This work also brought an interface to ROSE into Java with a full garbage collection.
- Jan 2005 to Jun 2005
Intern at LIP6
Under supervision of Mikal Ziane on RNTL Lutin (Automatic refactoring)Project Lutin provides techniques for automatic refactoring of object-oriented source code by setting only access restrictions. During this internship, I developed and tested a tool for identifying access violations in Java source code (a kind of generalized private/public/protected), using Stratego/XT and a hybrid modal logic evaluator in Prolog. I also developed some basic refactoring transformations that can fix the common access violations.
- Oct 2003 to Feb 2004
Intern at ENST Paris
Under supervision of Jacques Sakarovitch and Sylvain Lombardy on Vaucanson (Generic finite state machine framework)Automata are not always as simple as just having a letter on each edge. Labels can be generalized to be rational series over a monoid with multiplicity in a semiring. Serialized XML representations for automata were often not that generic. Vaucanson, thanks C++ templates, can handle generic automata. To be able serialize automata, it was necessary to define a generic XML format. The format and the input and output for Vaucanson were my work.
- Feb 2003 to Dec 2004
Student at the LRDE (ÉPITA's Research and Development Laboratory)
Under supervision of Akim Demaille on Transformers (C/C++ Transformation framework)I am still co-maintainer of the project. I have developed an attribute grammar system based on SDF and Stratego. I used it to disambiguate C99 and C++98, taking syntax definitions right from the appendices of the respective standards. My goal was to enhance the modularity of the C and C++ grammars, including even pretty-printing informations. This development have given a large set of tools for SDF to handle C and C++.
- Licenses
Clean French car driver license
Clean US car driver license
French glider pilot license- Languages
French (native)
English (fluent)
Written Norwegian (poorly)
Publications
Journal
Anya Helene Bagge, Valentin David, and Magne Haveraaen. 2011. Testing with Axioms in C++ 2011: Testing with Axioms in C++ 2011. Journal of Object Technology. To be published.
Alexandre Borghi, Valentin David and Akim Demaille C-Transformers: A Framework to Write C Program Transformations ACM Crossroads, Programming Languages, Spring 2006 - 12.3
In proceedings
Valentin David, Magne Haveraaen, Concepts as syntactic sugar SCAM 09
Anya Helene Bagge, Valentin David, Magne Haveraaen Axiom-based testing for C++ OOPSLA Companion 2008: 721-722
Valentin David Preparing for C++0x OOPSLA Companion 2008: 769-770
Anya Helene Bagge, Valentin David, Magne Haveraaen Testing with concepts and axioms in C++ OOPSLA Companion 2008: 773-774
Anya Helene Bagge, Valentin David, Magne Haveraaen, Karl Trygve Kalleberg Stayin' alert: moulding failure and exceptions to your needs GPCE 2006: 265-274
Valentin David, Akim Demaille, Olivier Gournet Attribute Grammars for Modular Disambiguation In the proceedings of IEEE 2nd International Conference on Intelligent Computer Communication and Processing Technical University of Cluj-Napoca, Romania 1 - 2 September, 2006
References
See section Experience.
Other
Posted on Thu, 04 Aug 2011 17:27:49 +0200.