The effects of software crashes affect billions of people every year. The consequences of many of them are fortunately trivial, but some, such as failures in banking, medical or transport systems, can potentially cause serious financial consequences and even be life-threatening. Because the IT infrastructure is based on many related systems, the effects of a single failure can propagate very widely. An error in a very specialized server management system can mean, for example, that the airport will be paralyzed when you go on vacation, and your luggage will in effect get stuck in the warehouse. Trends in the progressive computerization of subsequent areas of life – such as driving cars, elections, processing sensitive and medical data, conducting financial settlements or using Internet of Things devices – make humanity more and more dependent on software, so the effects of software failures are more and more palpable for us and have more and more serious consequences. In addition, many important programs must work reliably in a very diverse hardware and system environment.
Despite the fact that companies invest in increasing the quality of software and intensify the testing process, errors still occur. This problem is caused by an inefficient error identification and repair process. For many years, it has worked very similarly – when information about a failure appears, it goes to the IT department, which tries to confirm it. The expression, often uttered by programmers: “works on my machine” is true – the same program works in some environments and conditions, but not in others. Due to the complexity of the current world, lack of access to all data or a multitude of dependencies and programming environments, it is often practically impossible to reproduce an error. The result is that the entire software improvement process is inefficient and is often based on guessing the hypothetical cause of the failure.This guesswork often results in makeshift patches and workarounds that are unstable in the long run and increase the cost of software maintenance.
This activity, almost detective work, of removing errors and preventing them takes from 50% to even 75% of the work time of programmers. What’s more – the time spent on eliminating bugs is largely the time spent on locating them, and fixing the code itself is usually relatively fast. The market for error finding and repair is estimated at 350 billion per year, of which ⅓ is in the US.
Since we don’t want IT professionals to be forced to finish fixing software errors by saying “works on my machine”, software testing tools are extremely important, allowing you to reproduce the conditions that caused a given failure – hardware, operating system, other simultaneously used programs. RevDeBug is revolutionizing the process of monitoring and analyzing software, enabling extremely fast identification of errors in the code, due to the use of patented high-efficiency technology for recording the state of the program running in both the test and production environment.
It allows you to eliminate hypotheses and the need to reproduce the error, allows you to get an accurate answer about the cause of failure in a few seconds. The RevDeBug architecture allows you to record software operating parameters in real time, without a significant execution slowdown. In the event of a breakdown, this allows you to “fast-forward” and “rewind”, as in an instant replay, and preview what exactly happened to the program when the problem occurred. The recorded program states are superimposed on the corresponding code lines, so the programmer can instantly assess which part of it was responsible for the malfunction of the whole.
In addition, the system allows you to track how the error, like falling domino blocks, causes failures in subsequent subsystems. In this way, it enables searching for the weakest links in a given IT infrastructure.
RevDeBug allows you to reduce by 50% the time needed to find, fix errors and test. This contributes to increasing the availability and reliability of IT systems, shortening the time to the market, and reduces the risks associated with exceeding the budget, or contractual penalties for software downtime. The system is already tested in practice – RevDeBug cooperates, among others, with: Microsoft, Amazon Web Services, Santander, PwC, Redgate, T Komp, Rossmann, Da Vinci Codes, BSB. Despite the fact that RevDeBug is relatively new, it has already allowed the users to achieve very significant (sometimes even spectacular – reducing days to hours) savings in finding software errors
– “This is an important moment in the RevDeBug project – our investment will allow the company to carry out research and development works that will allow the development of the system for next programming platforms. Thanks to this RevDeBug can become a global standard in the IT industry. And we would like this market position very much” – says Marcin Bielówka, managing partner in the INNOventure fund.
More information about RevDeBug can be found in our portfolio.