Valentin F.R. David Photography, Software engineering

 

Curriculum Vitae

The layout of this page has been optimized for printing. If you wish to print it, just click here.

Personal details

Universitetet i Bergen
Institutt for informatikk
Postboks 7803
N-5020 Bergen
Norway

Nationality

French

Date of birth

1982

E-mail

valentin.david@gmail.com

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++.

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

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

Posted on Wed, 02 Dec 2009 19:19:13 +0100.