Do you use the IDE-provided debugging infrastructure? How much of your development time do you actually spend on debugging? How long do your debugging sessions take on average? What actions do your perform during a debugging session? WatchDog 2.0 has the answers to these and more questions! Try it yourself by updating your WatchDog installation or by installing it in your IDE.
Do you like to win a €15 Amazon voucher and help research along the way? Please fill out this 5 minute survey on debugging.
As software applications become ever more important in our lives, we rely on the assumption that this software is itself reliable. However, a 2002 study reports that software failures cost the US economy $59.5 billion annually. Because testing is arguably the most important means to ensure software reliability, the number indicates a fundamental lack of testing. Based on this insight, in TestRoots, we analyse and improve the state of the art of Software Testing.
TestRoots is a NWO Vidi project granted in spring of 2013. The project officially started January 1st, 2014. It addresses research in the areas of software evolution and developer testing.
With software applications becoming ever more important in our daily lives, we are relying on the assumption that this software is reliable. Software testing is an important means to ensure this reliability, however, a 2002 study reports that software failures cost the US economy $59.5 billion annually. This indicates a lack of testing, which can be explained by the high cost of testing. In this research project I aim at leveraging existing testing efforts and easing future testing activities in order to reach the goal of software engineers testing more and better. Central stands the idea that software engineers should not only take satisfaction from having high-quality tests, but can learn from tests that have previously failed.
This induces the challenge that to better understand software, one should learn from a possibly huge collection of historical failures. For this, we will build the TestRoots test memory and we will evaluate whether this test memory allows to increase the productivity of developers and the quality of the delivered software.
Key innovations resulting from this research include (1) a test memory codenamed TestRoots containing all successes and failures of test runs; (2) accurate test-change impact analysis techniques; and (3) a recommender for developer-oriented decisions based on historical test data and (4) continuous testing. This project has a software evolution and a software testing side to it.
Hungry for more? Have a look at our recent ESEC/FSE (Beller et al.) or at our recent ICSE NIER (Beller et al.).