Building better Software

Building better Software

Scientists of the University of Algarve collaborate with international colleagues on improving software applications in engineering. The "Computing with Infinite Data" (CID) project is funded by the EU with approximately 1 million Euros.

The autopilot in an aircraft must work flawlessly; also the software of control and monitoring systems in railway traffic. Even with autonomous cars, human life depends on the technology being correct at all times. Scientists at the University of Algarve work on improving the existing technology for such applications. In the project "Computing with Infinite Data" (CID) they cooperate with the researchers from more than 20 partner universities and institutes worldwide. The EU is funding the project under the "Horizon 2020" program with almost one million euros.

“More and more applications require the use of computers, but in many situations computer programs can present inaccuracies due, for example, to rounding errors,” explains Prof. Daniel Graça from the University of Algarve, who participates in this project. “However software inaccuracies can create vulnerabilities which can have unexpected consequences. For example, the first Ariane 5 launch (a rocket used by the European Space Agency) failed due to that kind of inaccuracies. We would like to develop tools which can help resolve these inaccuracies. The problem is that there is a dissociation between the mathematical theory and its implementation in computer programs,” says Graça.

At the same time, within the CID project, researchers would like to develop tools which might formally prove the correct functioning of engineering applications. “Software is usually tested against a variety of possible scenarios. However, this often does not guarantee that the software is completely safe since vulnerabilities can still exist and can have unintended consequences, either due to accidents or to malicious behaviour”. Using infinite­precision data it should be possible in the future to develop tools which can help formally prove that programs function according to their respective requirements. “This would eliminate the need for testing, since we would be sure that the software works correctly” says Graça.

In another part of the project, scientists deal with different algorithms in engineering applications. "We would like to understand which problems are inherently difficult or even impossible to solve with the help of computers, and how do they fundamentally differ from easier problems" explains Graça. For some problems there are simply no simple procedures because of their complexity. This knowledge is valuable for software developers, since they no longer need to spend their time searching for alternatives in such cases.

The joint project is coordinated by the University of Siegen (Germany) and started on 1 April 2017. Universities and research institutions from several member countries of the EU are involved as well as countries like Japan, Korea, United States, South Africa and Chile. The University of Algarve is the only Portuguese institution participating in the project. The funding will primarily be used to finance the mutual visits of the scientists. They want to use the research stays Iasting several months to exchange knowledge and to learn from each other. Moreover, annual open workshops are planned. The duration of the project is four years.