Exjobbsförslag från företag

Detta är ett uppsatsförslag hämtat från Nationella Exjobb-poolen. Klicka här för att komma tillbaka till samtliga exjobbsförslag.

Förslaget inkom 2007-10-05

Fylgia - Quality-oriented software development

Developers of complex, distributed software spend most of their time doing modifications to existing software, and testing and debugging such modifications. Individual programmers seldom have complete knowledge about a software product, and the implications of changes to the product. Undesired and subtle quality degradations therefore tend to creep in in the form of performance degradations, intermittent errors, and problems related to specific combinations of platform and product configurations.

We at SICS, Swedish Institute of Computer Science, will try to address this problem by creating Fylgia, an automated quality surveillance system for monitoring and detecting undesired quality degradations in software projects. We are therefore looking for two students to build a first prototype of Fylgia. The prototype will be divided into two distinct parts, and each student will be responsible for one part:

* Student A: Automated test infrastructure. This student will arrange an automated infrastructure that runs product testsuites in appropriate configurations based on a test parameter specification in XML format. Each test run will produce a test result report, also in XML format, containing results and platform environment parameters. The student should take GCC and at least one other large open-source project, and put up regular tests of the latest snapshots on at least two different hardware/operating system combinations.

* Student B: Test result presentation and degradation detection. This student will create an infrastructure that receives test reports (from student A's infrastructure) and visualises the results in a web-based interface, which is made available to the public. The interface should allow users to manually request new test runs with test parameter combinations that have not yet been tested. It should also be able to detect degradations in user-defined quality metrics, and optionally automatically request new test runs. The test runs are requested by creating test specifications that are fed to student A's infrastructure.

Both subprojects will require a brief survey of earlier work in the area, and an evaluation of potential building blocks, for example buildbot, tinderbox, OSDL's STP, STAF, zope, plone, etc.

Students interested in this exjobb should have good programming and Unix/Linux system administration skills, and at least basic knowledge in Python, C/C++, some version control system (e.g. CVS/subversion/clearcase), some software build management tools (e.g. make/autotools/scons/jam), and open-source development procedures. It should be noted that this is not a thesis project for students seeking an easy path to a degree, but requires motivated and skilled students. You will get supervision, and if you perform reasonably well get the project done in five months, but you must be capable of handling source code for large software products and debug problems in complex software that someone else has written.

You should follow the application procedure at the CNA exjobb main page (http://www.sics.se/cna/exjobb.html) but in addition to the other requested documents also include source code (in compressed tar or zip format) for at least one programming project that you have participated in, and specify which parts of the code you wrote. Send the application to [email protected], with copies to [email protected] and [email protected] If you would like to apply as a pair, please send individual applications and include the name of your preferred partner.


Informationen om uppsatsförslag är hämtad från Nationella Exjobb-poolen.