VU AmsterdamDepartment of Computer ScienceDepartment of Computer Science

  Faculty of Sciences Department of Computer Science Vrije Universiteit Amsterdam

Student Assistant Position

The VU has granted me a prestigious University Research Fellow position, which is essentially a student assistant. To fill it, I am looking for someone who will be a masters student in computer science or PDCS at the VU during the 2013/2014 academic year. The student should have good grades and be an experienced C and C++ programmer with strong knowledge of UNIX or Linux. The (paid) position will be for 10 hours a week. It may be possible to combine the assistantship with your masters thesis if you are a second-year masters student.

If the work is successful, it may lead to a paper we can submit for publication. The student will be a co-author. Having a published paper on your CV could be useful to you later, for example, for getting a position as a Ph.D. student somewhere.

If you are qualified and interested, please send me an email with your CV. Be sure to discuss your C/C++ and UNIX/Linux experience.


Abstract of the Grant Proposal

We are working on making computer systems more reliable as part of my ERC Advanced Grant "Research on Really Reliable and Secure Systems Software" project. It is well-established that even well-written and extensively tested programs contain a constant number of bugs per thousand lines of code. This is the main reason why computer software still fails often. As a result, people have come to accept that computers cannot provide the extent of reliability that other types of machines such as televisions and cars have managed to achieve. Given that it is not feasible to make software entirely bug- free, we have to accept the fact that faults occur and find a way to deal with them more elegantly than is currently the case. With our MINIX 3 operating system, we have employed many techniques to prevent such faults from bringing down the system, in the hope that one day users will no longer experience crashes and have to reboot their computers.

Although we have a system that is expected to be more reliable in the face of software faults than traditional systems (such as Windows, Linux and Mac OS), demonstrating the extent to which reliability has been improved in practice is a challenge. To show that our system can effectively contain faults, it is necessary to trigger many faults in both our system and traditional systems and compare the impact these faults have on the system. We already found that it is not sufficient to trigger thousands of faults. Even systems resilient to such numbers of faults experience new problems when millions of faults are triggered. However, it is not feasible to hunt down such numbers of real faults and find ways to trigger all of them. Instead, one has to introduce artificial faults similar to those that would be made by real programmers. To compare reliability, one would have to do this on multiple systems and investigate the impact of the faults.

Currently, we have a framework called EDFI to perform fault injection on MINIX 3, but we are not yet able to study the impact of faults on traditional operating systems. Our approach is to alter the behavior of the LLVM/Clang compiler (which transforms source code into computer programs), so as to inject realistic faults in programs and monitor the number and type of faults that are injected. This approach is equally applicable to any other system for which the source code is available, but requires some effort to actually make it work for each such system. We would like to do this for the Linux operating system, of which the source code is fully available and which is dominant in the server market. It is also the basis for Android, which is important in phones and tablets. In both markets, reliability is of particular importance, so a fair comparison showing that MINIX 3 is more reliable than Linux in practice would be a large boost for our research project.


Prof. Andrew S. Tanenbaum (link to my home page )

 
           
Computer Science   FEW   VU   VU Home Phonebook Search Page owner