Leveraging Historical Development Data to Prioritize Software Testing Efforts
Ericsson Ottawa develops cellular base stations that are components of cellular networks marketed by Ericsson. The base stations serve as the interfaces between mobile devices (cell phones) to wired networks and the internet. These network products require high reliability and availability, which results in the need to perform extensive testing on expensive hardware, replicating complex customer network environments. Some tests are expensive, needing to be run for days, while others take seconds. Test failures have a high cost since they may stop the release process and require intervention by multiple engineers. Our goal is combine test prioritization with empirical software engineering to mine the historical artifacts including past code changes, bugs, peer reviews, and test runs to create statistical models to (1) prioritize tests and (2) help developers categorize and locate the cause of a failure. The outcomes of the project will increase the productivity of Ericsson Ottawa's 1000 employees and advance the state-of-the-art in understanding what historical measures help in test prioritization and localization. Moreover, the proposed project will help train the HQPs involved on the state-of-the-art in mining software repository data, statistical modeling and software analytics; skills that are becoming increasingly important in our data-driven society.