Towards exploratory understanding of software using test suites
Changing software without correctly understanding it often leads to confusion, as developers do not understand how the change corresponds to the new observed behaviour of the system. Today, many software systems are equipped with a test suite. Test suites document code and give feedback on changed program behaviour.
We explored ways to use test suites for software comprehension. We implemented a tool that provides additional visualization and gives immediate feedback on software changes. Information about changes in the software and their implications to the test suite are collected using mutation testing. The tool uses this information to present relevant test cases for developers, and additionally prioritize test executions for immediate feedback.
Our case study indicates that entropy metrics can find test cases that are relevant for a specific context in the source code. Additionally, simple test case prioritization strategies can already lead to a significant decrease in feedback time. Based on our case study we argue that test suites are not only useful for regression testing but can be used to generate meaningful information for software comprehension activities.
(A short demo video of the tool can be found here: https://vimeo.com/512282859/04ed6920bd)
Tue 23 MarDisplayed time zone: Belfast change
17:00 - 19:00
|Type Engineering: A design language for unified Software Engineering|
Anton Dmukhovskiy Art Deco Code Ltd
|Studying Programmer Behaviour at Scale: A Case Study Using Amazon Mechanical Turk|
|Towards End-user Web Scraping For Customization|
|Towards exploratory understanding of software using test suites|