Tuesday, October 6, 2009

PhD position: Finding and fixing bugs in API usage in open source infrastructure software

. Tuesday, October 6, 2009

Finding and fixing bugs in API usage in open source infrastructure software

Open source infrastructure software, such as the Linux operating system, Web browsers and n-tier servers, has become a well-recognized solution for implementing critical functions of modern life. Furthermore companies and local governments are finding that the use of open source software reduces costs and allows them to pool their resources to build and maintain infrastructure software in critical niche areas. Nevertheless, the increasing reliance on open source infrastructure software introduces new demands in terms of security and safety. In principle, infrastructure software contains security features that protect against data loss, data corruption, and inadvertent transmission of data to third parties. In practice, however, these security features are compromised by a simple fact: software contains bugs.



The goal of this PhD is to develop a comprehensive solution to the problem of finding bugs in API usage in open source infrastructure software. The approach will build on the results of the Coccinelle transformation tool for C programs. Coccinelle targets the problem of documenting and automating collateral evolutions in Linux code. A collateral evolution is a change that is needed in the clients of an API when the API changes in some way that affects its interface. Coccinelle provides a language for expressing collateral evolutions by means of Semantic Patches, and a transformation tool for performing them automatically. Recently, Coccinelle has been used to generate traditional patches for improving the safety of Linux. Over 280 of these patches developed using Coccinelle have been integrated into the mainline Linux kernel, and more have been accepted by Linux maintainers and are pending integration.

The tentative methodology to address the problem will be: 1) designing libraries of semantic patches to identify API protocols and detect violations in their usage, 2) extending Coccinelle to address the needs of bug finding and reporting, and 3) designing complementary tools to help the programmer to track and fix bugs.

The candidate for this position should have a background in programming languages, software engineering, or systems. The location of the PhD will be LIP6 (www.lip6.fr) in Paris, in the INRIA/University of Paris 6 Regal research group.

Contact: Gilles.Muller@lip6.fr
URLs: coccinelle.lip6.fr, regal.lip6.fr


0 comments:

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Post a Comment

 
Katalog Beasiswa is proudly powered by Blogger.com | Template by Katalog Beasiswa