Mark Harman

Company: University College London

Role in Company: Professor of Software Engineering

Country: United Kingdom

Presentation Takeaways

1. We can automatically test android code
2. We can automatically transplant functionality
3. We can automatically improve existing systems

Speaker Biography

Mark Harman is professor of Software Engineering in the Department of Computer Science at University College London, where he directs the CREST centre and is Head of Software Systems Engineering. He is widely known for work on source code analysis, software testing, app store analysis and Search Based Software Engineering (SBSE), a field he co-founded and which has grown rapidly to include over 1,600 authors spread over more than 40 countries. His SBSE and testing work has been used by many organisations including Daimler, Ericsson, Google, Huawei, Microsoft and Visa, and has attracted over 15,000 citations in the research literature. Prof. Harman is co-director of Appredict, an app store analytics company, spun out from UCL's UCLappA group, and chief scientific advisor to Majicke, and automated test data generation start up.

Presentation Description

This talk will review the existing state-of-the-art and practice in automated smart test case design. It will outline exciting emerging technologies that automatically “transplant” and “genetically improve” software, guided by testing. Transplantation transfers code from one system, a donor, into another unrelated system, the host, thereby transferring functionality from donor to host. Genetic improvement automatically improves operational characteristics such as execution time, memory requirements, and energy consumption. We will see how transplantation and improvement can be guided by testing, offering breakthroughs in problems such as reuse, and the simultaneous satisfaction of multiple platforms, environments and stakeholders. The talk will conclude with recent results from a practical automated smart test design tool for Android, called Sapienz, which automatically achieves high coverage and fault revelation, while reducing the length of fault-revealing test sequences.