Assistant Positions in Software Engineering, ETH Zurich, Switzerland

Peter Müller <[email protected]> Fri, 27 Aug 2004 11:33:41 +0200
Newsgroups gmane.science.mathematics.logic.coq.club,gmane.science.mathematics.discrete,gmane.comp.lang.mercury.advertisments
Message-ID <00df01c48c18$f0d37470$8124fea9@arc>
           Assistant Positions in Software Engineering
     Department of Computer Science - ETH Zurich, Switzerland


The Chair of Software Engineering at ETH Zurich is recruiting two
assistants (PhD students) to work on the research project
"Heterogeneous Proof-Carrying Components", aiming at improving
software quality and promoting reuse in multi-language environments.


The project is devoted to developing the foundations of Proof-Carrying
Components, reusable software components with a strong guarantee of
quality. Proof-Carrying Components contain a mathematical proof,
machine-checkable, that the component satisfies specific properties,
known as the contract for the component.  These properties can be more
or less extensive: they might characterize all that's interesting
about the component's behavior, or just some specific aspects, such as
absence of "null-pointer dereferencing" or other run-time failures.
 
The main objectives of the project are to develop:
  1. A standard formalism to express Proof-Carrying Components:
     compiled classes with the associated contracts and proofs 
  2. A proof-transforming compiler that translates verified source
     programs into Proof-Carrying Components

The formalism and the tools will be applicable to a wide variety of
input programming languages, platforms, provers, and proof techniques.
To support this variety we will rely on the .NET framework, which
provides a common intermediate language (CIL) for the output of compilers
in many different programming languages; to such output we will add the
possibility of including specification and proof elements besides code
elements.


The research topics of the new assistants are determined by the above
project objectives. Their work will be supervised by Prof. Peter
Müller and Prof. Bertrand Meyer, respectively. Funding has been
granted for a period of three years. A longer employment is possible.

Assistants are expected to participate in teaching, especially in the
areas  of object-oriented programming, software engineering, and formal
methods. Among others, teaching activities include supporting courses
and seminars as well as advising students doing project and Master's work.


Applicants must have a very good degree in Computing Science or in a
related subject with a strong Computing Science component. They must
also have documented practical experience in object-oriented
programming and expertise in formal methods. Since assistants are
expected to work towards a PhD, a strong commitment to research as
well as a good knowledge of English is required.

The following qualifications are not mandatory, but increase the
chances of a success:
  * Experience with the .NET platform, in particular the CIL and
	the C# language
  * Experience with Eiffel and Design by Contract techniques
  * Experience with Java bytecode
  * Knowledge of Proof-Carrying Code
  * Experience in compiler construction
  * Experience with theorem provers such as Atelier B, Isabelle, or PVS
  * Knowledge of German


We favor diversity; it doesn't matter where you come from as long as
you have the ability and enthusiasm to help advance the frontiers of
software technology. ETH administrative requirements specify that you
should have a Master's degree (US, UK, Australia ...) or a degree
considered equivalent such as a German-style Diplom or a French-style
DEA. If you are not sure about equivalences feel free to ask.

An assistant position is a regular job with social benefits. Assistants
at ETH receive an attractive salary and have access to excellent
facilities in one of the world's top computer science departments.
Zurich has just been voted #1 again in the world for quality of life
(www.mercerhr.com/pressrelease/details.jhtml/dynamic/idContent/1128760).

For the web site of the Chair of Software Engineering
consult http://se.inf.ethz.ch and http://sct.inf.ethz.ch.
Questions on the positions and applications should be sent to
Prof. Peter Mueller ([email protected]) or to the postal
address below.
Applications should include a curriculum vitae, a brief description of
research interests, and, if possible, letters of recommendation from
teachers or employers.

Postal Address:
  ETH Zurich
  Ruth Buerkli
  ETH Zentrum, RZ Building
  CH-8092 Zurich
  Switzerland

--------------------------------------------------------
Bug reports: http://coq.inria.fr/bin/coq-bugs
Archives: http://pauillac.inria.fr/pipermail/coq-club
          http://pauillac.inria.fr/bin/wilma/coq-club
Info: http://pauillac.inria.fr/mailman/listinfo/coq-club