Volume 43, Issue 9 pp. 1039-1070
Research Article

Validating pragmatic reuse tasks by leveraging existing test suites

Soha Makady

Soha Makady

Department of Computer Science, University of Calgary, Calgary, Canada

Search for more papers by this author
Robert J. Walker

Corresponding Author

Robert J. Walker

Department of Computer Science, University of Calgary, Calgary, Canada

Correspondence to: Robert J. Walker, Department of Computer Science, University of Calgary, 2500 University Drive NW, Calgary, Alberta, T2N 1N4, Canada.

E-mail: [email protected]

Search for more papers by this author
First published: 19 June 2012
Citations: 12

SUMMARY

Traditional industrial practice often involves the ad hoc reuse of source code that was not designed for that reuse. Such pragmatic reuse tasks play an important role in disciplined software development. Pragmatic reuse has been seen as problematic due to a lack of systematic support, and an inability to validate that the reused code continues to operate correctly within the target system. Although recent work has successfully systematized support for pragmatic reuse tasks, the issue of validation remains unaddressed. In this paper, we present a novel approach and tool to semi-automatically reuse and transform relevant portions of the test suite associated with pragmatically reused code, as a means to validate that the relevant constraints from the originating system continue to hold, while minimizing the burden on the developer. We conduct a formal experiment with experienced developers, to compare the application of our approach versus the use of a standard IDE (the ‘manual approach’). We find that, relative to the manual approach, our approach: reduces task completion time; improves instruction coverage by the reused test cases; and improves the correctness of the reused test cases. Copyright © 2012 John Wiley & Sons, Ltd.

The full text of this article hosted at iucr.org is unavailable due to technical difficulties.