PhD topics with RMOD

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

PhD topics with RMOD

Stéphane Ducasse
Hi guys

we have a position for a PhD. If you are interested we can talk at ESUG 2012 or by Skype.

Stef



Context: Dynamically-typed languages cannot take advantage of static type information. In this context we would like to study
the benefit of the introduction of static types *annotations* on library design and general robustness.
The benefits can be at the level of the robustness (bug identification), but also tools (IDE) and support for assembly generation/c
in case of JIT.

The PhD grant is financed in the context of the Safe Python project therefore the Ph.D. will have to work in contact
do we with the project partners and help in the context of some deliverables.

The following tasks have to be done:

        - RPython is not formally defined. One of the first task will be to define the formal semantic of RPython.
        One approach is to write a RPython interpreter based on an operational semantics and to compare the output
        with the RPython interpreter. We will certainly use PLT redex which is a domain-specific language to specify
        and debug operational semantics.

        - We may use the abstract syntax tree of PyLint and use the Frama-C infrastructure. We will also consider to
        build a Python parser based on petitParser.

        - Define of some default metrics may also be necessary for the SafePython project. Their definition should
        be trivial on ASTs.

        - Analysis of the benefits of static typing for RPython. One idea is to study the existing python libraries
        and analyze the "distance" to the RPython subset.

        - Exploring type checking in presence of inconsistent type annotations.

        - Since we are developing Pharo and that static type annotation are important to
        support C or assembly generation, we would like to apply the same technique to Pharo:
                - define a syntax to support type annotation (reuse the one developed by Pleaid team member)
                - perform some analysis of existing library.


References

[1] D. Ancona, M. Ancona, A Cuni, and N. Matsakis. RPython: a Step Towards
    Reconciling Dynamically and Statically Typed OO Languages. In OOPSLA 2007
    Proceedings and Companion, DLS'07: Proceedings of the 2007 Symposium on
    Dynamic Languages, pages 53-64. ACM, 2007.

[2] A Visual Environment for Developing Context-Sensitive Term Rewriting Systems
Jacob Matthews, Robert Bruce Findler, Matthew Flatt, and Matthias Felleisen

[3] Felleisen,M.,Hieb,R.:The revised report on the syntactic theories of sequential control and state. (1992) 235–271


Skills and Profile

        You must hold a Master's in computer science, control engineering, mathematics, scientific computation or an equivalent diploma.
        Nationality is not taken into consideration.
        Knowledge in programming language design.
        Object-oriented programming with knowledge of Smalltalk and Python are a plus.

About Lille and INRIA:

Lille is located in the north of france at the border to Belgium
one hour from Paris, 1h20 from London, 35 min from Brussels, by train.
French food, combined with belgian beer.
        RMoD: http://rmod.lille.inria.fr
        INRIA Lille: http://www.inria.fr/lille/
        INRIA in General: http://www.inria.fr
        Lille:
        http://en.wikipedia.org/wiki/Lille
        http://wikitravel.org/en/Lille
Benefits/Users/ducasse/Workspace/FirstCircle/Administration/Ad-INRIA/Projects/2012-SafePython/PhDtopics.txt

Duration : 36 months – starting date of the contract : October 2012, 15th
Salary: 1957,54 EUR the first two years and 2058,84 EUR the third year
Monthly salary after taxes: around 1597,11 EUR the 1st two years and 1679,76 EUR the 3rd year (social security included).
Possibility of French courses
        Help for housing
        Scientific Resident card and help for husband/wife visa

Additional Information

Application deadline: 15 September 2012
Contact for position: [hidden email]