Today’s life can hardly be imagined without the PC. Countless users appreciate the electronic computing machine for support in various applications. But hardly any user can escape software errors, the so-called bugs. As their eponyms in nature, these digital pests are difficult to find and to eliminate. Specialists from the Institute for Program Structures and Data Organization (IPD) of KIT are working on facilitating this search.
According to the Research Triangle Institute (RTI), about 35 percent of the software development time are spent in searching for errors. The basic approach to this so-called debugging is to go through a program step by step. Doing this, the definition of variables has to be observed. Even in case of smaller software projects, the number of the steps executed and the number of defined variables and decisions depending on this definition may be gigantic. Often, the complexity of software causes the error to manifest itself under certain conditions only. A short glance on the program text does not help when searching for the error. To find an error, numerous stepwise executions of the program are required and watched closely by the programmer, a tedious work.
A variety of approaches to optimizing this work exist. Some are aimed at preventing errors in advance. But bugs cannot be avoided completely, they are an annoying evil not only during development. Hardly any program is completely free of errors when commercialized. To effectively support a programmer in his search for errors, scientists at the IPD Chair of Information Administration Systems under the direction of Professor Klemens Böhm develop methods to give programmers an indication as to where they should search for an error. “If a programmer has to look at half as much program text only, this makes work much easier,” explains the project head, Christopher Oßner.
To detect a program error, the researchers use methods of data mining. Such methods are aimed at finding something interesting in data inventories. Similar means are used to separate spam from desired e-mails or to combine stars on telescope images to galaxies. When hunting bugs, it is recorded what a program does while it is executed. These data are then analyzed for typical features of a program error.
The data obtained usually are very extensive. Hence, analysis requires a high expenditure. To master this amount of data, the IPD scientists use a hierarchic procedure. Instead of analyzing the complete data inventory at once, it is first examined on a coarser level. “If you plan to do a trip around the world, you will not study the street maps of a city first, but have a look on the globe,” describes Oßner the method to analyze also larger software projects. The information obtained may then help a programmer in his search for a program error.
This problem also is of interest from the economic point of view, as much software development time may be saved. The data mining community considers error detection one of the most interesting and prominent problems. The IPD will present its latest findings at the SDM, the Conference for Data Analysis of the American Society for Industrial and Applied Mathematics, in April.
In close partnership with society, KIT develops solutions for urgent challenges – from climate change, energy transition and sustainable use of natural resources to artificial intelligence, sovereignty and an aging population. As The University in the Helmholtz Association, KIT unites scientific excellence from insight to application-driven research under one roof – and is thus in a unique position to drive this transformation. As a University of Excellence, KIT offers its more than 10,000 employees and 22,800 students outstanding opportunities to shape a sustainable and resilient future. KIT – Science for Impact.