Centre for Software Reliability

The Programming Contest

To date software engineering research has been based on relatively small samples of programs; at most a few tens of programs have been used in controlled experiments to test hypotheses. Ideally far more programs---written to a common specification---are needed to undertake statistical analyses, and many different specifications are needed to demonstrate results are generally applicable.

The UVa Online Judge Website is an initiative of Miguel Revilla of the University of Valladolid. It contains problems to which everyone can submit solutions. The solutions are programs written in C, C++, Java or Pascal. The correctness of the programs is automatically judged by the ``Online Judge". Most authors submit solutions until their solution is judged as being correct. There are many thousands of authors and together they have produced more than 3,000,000 solutions to the approximately 1500 problems on the website.

From the perspective of algorithm design, the programming contest is a treasure trove. There appear to be numerous ways to solve the same problem. But also for software reliability engineers this is the case: there are even more ways to not solve the problem. Most authors' first submission is incorrect. They take some trials to---in most cases---finally arrive at the correct solution.

The millions of submissions give us the opportunity to research various topics in software reliability engineering. To date, most energy has been invested in the analysis of the effectiveness of diversity in some of its varieties.

Problems Analysed

The following list shows a subset of the problems that have been analysed, together with the inputs to these analyses and some of the results.

Research Topics

The programming contest gives the opportunity research many topics of interest to software reliability engineerings. We have done work/are doing work on the following topics:

Conjectures

The Programming Contest also gives the opportunity to test conjectures. Many of those conjectures are normally taken for granted, because they seem to be self evident. But why not challenge them? At the moment we have done work/are doing work on the following conjectures: If you have a conjecture that you would like to have tested, you can send it to Meine van der Meulen at info@safetyengineering.nl. We will test your conjecture as quickly as we can.

The Test Harness

A test harness has been devoloped to systematically analyse problems in the Programming Contest. The test harness contains programs for the following tasks:

Publications

Meulen, M.J.P. van der, Revilla, M., "Experiences with the Design of a Run-Time Check", Lecture Notes in Computer Science, vol. 4166, pp. 302-15, Computer Safety, Reliability, and Security, 25th International Conference, Safecomp 2006, Gdansk, Poland, September 27-29, 2006.

Meulen, M.J.P. van der, Revilla, M., "The effectiveness of Choice of Programming Language as a Diversity Seeking Decision", 5th European Dependable Computing Conference (EDDC-5), Budapest, Hungary, April 2005, (Dal Cin, M., Kaaniche, M., Pataricza, A., Eds.), pp. 199-209, Springer, Lecture Notes on Computer Science, 2005.

Meulen, M.J.P. van der, Strigini, L., Revilla, M., "On the Effectiveness of Run-Time Checks", Lecture Notes in Computer Science, Safecomp, 28-30 September 2005, Halden, Norway, (Gran, B.A., Winther, R., Eds.), vol. 3866, pp. 151-64, Springer, 2005.

Bentley, J.G.W., Bishop, P.G., Meulen, M.J.P. van der, "An Empirical Exploration of the Difficulty Function", Safecomp, Potsdam, 21-24 Sep. 2004, Potsdam, Germany, pp. 60-71, Springer Verlag, 2004.

Meulen, M.J.P. van der, Bishop, P.G., Revilla, M., "An Exploration of Software Faults and Failure Behaviour in a Large Population of Programs", ISSRE 2004, Rennes, France, pp. 101-12, 2004.


Page maintained by Meine van der Meulen: info@safetyengineering.nl

Last updated: 20 February 2007
IP Geotargeting
Visit eBay