Curriculum Vitae
Personal details
Universitetet i Bergen
Institutt for informatikk
Postboks 7803
N-5020 Bergen
Norway
- Nationality
French
- Date of birth
1982
- Direct line
+47 555 84136
- Mobile
+47 936 36 172
Education
- 2005 to 2009
-
PhD at University of Bergen
Bergen, Norway - 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
- 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 a tool, CodeBoost, for source code transformation of C++ +- code. The purpose of CodeBoost is to support new programming ideas, especially ideas about software structure. High-level optimization is important for this, in order to reduce associated abstraction costs. The programming ideas are being tried on the Sophus C++ numerical library for geophysical applications. An earlier version CodeBoost has shown promising results for optimization based on axioms given as part of the Sophus library.
- 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, where as 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 will provide 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, using Stratego/XT and a hybrid modal logic evaluator in Prolog. I also developed some basic refactoring transformations.
- 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 do not only have a letter on each edge. Labels can be generalized to be rational series over a monoid with multiplicity in a semiring. Most of other projects with automata do not handle all these. Lots of XML formats for serialization appeared but were not able to handle everything. Since Vaucanson, thanks C++ templates, can handle everything, I had to define a new extensible format and tools for Vaucanson.
- 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++.
- Music
Musical formation (classical guitar, percussions). Played in several music bands. Management staff (person in charge) during two years in a musical event organization.
- Photography
-
Musical events, fashion and nature.
- Licenses
Clean French car driver license
Clean US car driver license
French glider pilot license- Languages
French (native)
English (fluent)
Written Norwegian
Publications
Journal
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
Technical reports
Valentin David Refactoring to Object-Oriented Design Patterns LIP6-ÉPITA 2005
Valentin David Attribute grammars for C++ disambiguation LRDE 2004
Robert Anisko, Valentin David, Clément Vasseur Transformers: a C++ program transformation framework LRDE, May 2003
Talks
Valentin David and Karl Trygve Kalleberg, MetaStratego: Ideas for making Stratego extensible, implementation of attribute grammars, Stratego Users' Days 2006, December 1st, 2006, TU Delft, University, Netherlands
Valentin David, C++ front-ends, Stratego Users' Days 2006, November 30th, 2006, TU Delft, University, Netherlands
Valentin David, Codeboost, Stratego and C++, November 6th, 2006, Texas A&M University, College Station, TX
Valentin David and Mikal Ziane, Refactoring to object-oriented design patterns using program transformations, Stratego Users' Days 2005, May 4th 2005, Utrecht University, Netherlands
Valentin David, C/C++ Disambiguation Using Attribute Grammars, Stratego Users' Days 2005, May 3rd 2005, Utrecht University, Netherlands
References
See section Experience.
Miscellaneous
Computer skills
Eduction in networks, security, operating systems, UNIX, signal processing, computational science, cognitive science, during ÉPITA.
I can adapt to most of programming languages and operating systems.
Other skills
Posted on Wed, 02 Dec 2009 19:19:13 +0100.