David Teller: Resume
Professional and associative occupations
September 2004 to this day - Lecturer
Research in Laboratoire d'Informatique Fondamentale d'Orléans, University of Orleans, member of group Security of Distributed Systems, in addition to lectures and labs of algorithmics, object-oriented design and programming, functional design and programming, design and implementation of databases, mathematics of computer science, projects, compilers.
September 2004 to August 2006 - Post-doctorate
Research Fellow, member of the TrustUS project (formerly Third-Party Resource Usage for Pervasive Computing), under the direction of Professor Vladimiro Sassone, co-manager of project CommonSense (safe software architecture for reusable, shared sensor networks), in charge of labs of thin client/ web server programming and lectures of semantics and applications of programming languages.
January 2003 to this day - e-books and free software
Founding member and team leader of the OpenBerg project for the development of free software to read, write and publish e-books. Currently, developing OpenBerg Lector an e-Book reader, using Mozilla technologies, and OpenBerg Rector, an e-Book compiler, using Java. To this day, the team consists in 3 developers and 2 support staff, OpenBerg Lector has reached version 5 beta and has been downloaded nearly 20,000 times. A former version of OpenBerg Reader was one of the three accepted candidates for a textbook reader in project One Laptop Per Child. OpenBerg Rector 5 has recently entered alpha stage.
June 2003 to this day - Mozilla community
Patch under evaluation for Firefox, volunteer support to extension developers...
October 1999 to June 2000 - Video games
Part of a start-up company developing toolkits for video game developers. Module manager for Artificial Intelligence.
June 1993 to September 2007 - e-books
Member of Éditions Vigdor, association for the publication of scientific e-books. Main architect and author of versions 1 to 4.5 of Lector, the software involved with reading the books. To this day, about hundred books exist for Lector 4.5 and this software is used in several academic libraries.
University Curriculum
September 2001 to September 2004 - Ph.D.
Limited Resources for Mobility: Use, Reuse, Guarantees, as a member of group Plume, in Lip, ENS Lyon, under the direction of Professor Pierre Lescanne and the supervision of Doctor Daniel Hirschkoff. Ph.D. obtained, “Very Honourable” (the highest mark delivered by ENS Lyon).
Summer School
Protocols and safety for mobile and ad-hoc networks, in the Scuola Normale Superiore di Pisa, Italy.
July 2001 - Summer School
Models, implantation and security of protocols, in Lipari, Italy.
Spring-summer 2000 - Exchange Semester
as part of the European program Erasmus, in the Technische Universität München, Munich, Germany, with major in Artificial Intelligence and Robotics. Term obtained with mark 85%.
September 1998 to July 2001 - Bachelor, Masters
in École Normale Supérieure de Lyon. Computer science, both fundamental and applied, including systems, logics, semantics and projects. Lyon. Internships in group Oasis, in Inria Sophia-Antipolis, under Gilles Barthe and Bernard Serpette (Building a software laboratory for object-oriented programming), in group Flint, Yale, USA, under Zhong Shao (Array bounds-checking elimination for Proof-Carrying Code), in group Plume, ENS Lyon, under Daniel Hirschkoff (Modelling and controlling resources for mobility). Degree obtained with mark B.
September 1995 to July 1998 - Classes Préparatoires aux Grandes Écoles
Intensive syllabus of mathematics, physics and computer science for future engineers and researchers, in Lycée Charlemagne, Paris.
Main research activities
2006 to this day - Formal techniques for operating system-level security
Design of a safe virtual machine combining high-level safety-proved components and system-level watchdog-controlled components (Work in Progress). Hybrid static/dynamic analysis of safety for operating system access of dynamically downloaded extensions for Firefox (Work in Progress). Static analysis of SELinux policies required for open-source projects (in progress).
2005-2006 - Language for distributed sensor networks
Study of mechanisms for formal management of uncertainty, network events and real time. Design of a domain-specific request language for reusable distributed shared sensor networks (Common Sense Architecture for Request or Csar). Design of a hybrid calculus/virtual machine for the execution of real-time, weakly synchronous, distributed requests, in presence of energy and memory limitations. Simulation and optimisation techniques for requests, including sensor equivalence. Techniques for guaranteeing satisfiability and estimating cost of requests. Research subject stopped due to political decisions inside University of Sussex.
2005 to this day - Languages for concurrency
Implementation of the Calculus of Kells as a component-based programming language (distributed virtual machine Chalk). Design of the family of concurrent languages Tepic for the safe manipulation of resources. Techniques for semi-automated analysis and robustness guarantees w.r.t. Denial of Service attacks in Erlang. Extension of Tepic to cryptographic resources (work in progress).
2003 to this day - Foundations of dynamic resource management
Study of allocation, combination, transfer and deallocation of resources such as memory or file handlers. Definition of generic notions of references and safe, complete, contextual and sound garbage-collectors for mobile, distributed systems, using the π-calculus. Application to the analysis of widely-deployed garbage-collectors such as Java/Sun, OCaml, Python, JavaScript/Mozilla, C++XPCom...Type systems for static analysis of dynamic resource management.
2001-2003 - Notion of resources
Specification of notions of limited resources (Ram, energy, paper...), resource allocation policy and resource exhaustion using formalisms of Mobile Ambients, π-caluclus, Kell Calculus, Seal Calculus. Development of theoretical tools for analysing and predicting resource usage by concurrent, distributed, dynamic systems. Application to a fragment of a scheduler based on activations for the Linux Kernel.
Teaching
September 2006 to this day - Lecturer
Lectures of Object-Oriented Programming (with Java), Functional Programming (with OCaml), Mathematics for Computer Science (set theory, logics, orders, equivalences, structural induction) for undergraduates. Lectures of Database Management Systems (using MySQL and Oracle), for graduate students.
September 2005 to this day - Invited lectures
Compilation, for B.Sc. students in ENSI de Bourges.
Year 2005-2006 - Post-doctorate
Lectures of Semantics of Programming Languages (Operational Semantics, Denotational Semantics, Axiomatic Semantics, equivalence of programs, proof of specifications, type systems...) for Bachelors of Science in University of Sussex.
Year 2004-2005 - Post-doctorate
Laboratory classes of Internet Technologies (Xml, Dom, Sax, Xhtml, JavaScript...), for Bachelors of Science and Masters of Science in University of Sussex, under the supervision of Professor Vladimiro Sassone.
Year 2003-2004 - PhD grant
Lessons and classes of Programming Languages (Prolog) for second year students with a major in History, Geography, Anthropology, Sociology, Psychology or Linguistics and a minor in Computer Science and Mathematics, in University Lyon II, under the supervision of Jacques Viallaneix.
Years 2002-2003 - PhD grant
Lessons and classes of Computer applications (Internet, Html, Matlab, Linux) for first year students with a major in History, Geography, Anthropology, Sociology, Psychology or Linguistics and a minor in Computer Science and Mathematics, in University Lyon II, under the supervision of Monique-Vincent Dalud and Jacques Viallaneix.
Main realizations
International Journals with Reading Comittee
- Using Ambients to Control Resources
- with Pascal Zimmer and Daniel Hirschkoff. International Journal of Information Security, vol. 2, no. 3, 2004. (main author)
National Journals with Reading Comittee
- Using Ambients to Control Resources
- (short abstract) with Pascal Zimmer and Daniel Hirschkoff. Schedae Informaticae, vol. 12, 2003. (main author)
International Conferences with Reading Committee
- Recollecting resources in the π-calculus
- Proceedings of the third IFIP International Conference on Theoretical Computer Science, Kluwer, Toulouse, 2004.
- Using Ambients to Control Resources
- avec Pascal Zimmer et Daniel Hirschkoff. Proceedings of CONCUR'02, volume 2421 of LNCS. Springer, 2002. (main author)
International Workshops with Reading Committe
- Towards resource-safe network services
- Proceedings of Workshop on Collaboration and Security 2007.
- Formalisms for mobile resource control
- Proceedings of Foundations of Global Computing 2003, volume 85 of ENCS. Elsevier, 2003.
Technical reports
8 Technical Reports
Invited talks
9 talks given to an international audience, 11 talks given to a national audience.
- Firefox, e-Books and OpenBerg Lector
- technical day Mozilla Developer Days, Paris, 2007.
- Guide égocentrique de l'édition numérique
- seminar Hubert de Phalèse, Université Paris III Sorbonne Nouvelle, Paris, 2007.
- Towards a resource-safe Erlang
- seminar, Laboratoire de Recherche en Informatique de Paris 11, Orsay, 2006.
- Resource management with the pi-calculus
- seminar, Institut Régional d'Informatique de Toulouse, Toulouse, 2005.
- The Pi-Calculus, Finalisation and Garbage Collection
- seminar, Joint Queen Mary University of London/Imperial College Theory Seminar, Londres, 2004.
- The Pi-Calculus and its applications
- Xerox Research Center Europe, Grenoble, 2003.
- Recollecting resources in the π-calculus
- during Unitn Global Computing'03, Rovereto, Italie, 2003.
- Using Ambients to control Resources
- during Unitn Global Computing'02, Rovereto, Italie, 2002.
Open-source development
- JStify
- Single developer of the JStify toolkit for static analysis of JavaScript 2, in relation with the Mozilla Foundation and the ECMA TG1 standardization committee (in progress).
- JavaScript Security Extensions for Firefox
- Advisor for a team of students preparing a security patch for Firefox extensions.
- Multi-Level Security for Thunderbird
- Advisor for a team of students working on the management of confidential contents in Mozilla Thunderbird.
- SELinux type-and-effects analysis
- Advisor for a team of students developing a static analyzer for security properties of open-source software.
- OpenBerg
- Project manager.
- Chalk
- Co-developer of the Chalk Virtual Machine, for distributed, component-based development.
- wxWidgets
- Implantation of the protocol handler of wxMozilla.
- Wikipedia
- Contribution to a few dozen articles (XPCom, distributed programming, Corba, π-calculus...)
Other science-related responsibilities, and activities
2006-2007 - Public relations
Main contact for Laboratoire d'Informatique Fondamentale d'Orléans.
2005,2006 - Research projets
Co-organisation of project Common Sense, organisation of working groups for project TrustUS.
2004,2005,2006 - Refereeing
For Concur 05, Fsttcs 05, Icsoc 05, Fossacs 06, Information and Computation, Icalp 06...
2001,2002,2003,2007 - Vulgarisation
Co-responsible of a variety of activities on algorithms, concurrency, physics, skepticism,
for 8 year old to 16 year old children.
2000 à 2003 - Elected representative
first to the Program Committee then to the Studies Committee of l'Ens Lyon.
1998 to 2002 - Miscellaneous responsibilities
Main organizer of a discussion group on Artificial Intelligence, contact with sponsors for participation of Ens in robotics cup e=m6, member of student-organised seminars group, member of a volunteer group helping children with studying difficulties.

