Browsing by Author "Makady, Soha"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item Open Access The Reduction Process for Change Type Cases to Consider(2014-09-03) Makady, Soha; Walker, RobertPragmatic reuse tasks can be validated by a custom record-and-replay (R&R) technique that transforms automated test suites to focus on the reused code, reducing the need to develop test suites manually; this technique has previously been reified in the Skipper tool. In general, R&R test suites have been criticized as lacking maintainability when the source under test evolves, but the literature contains no empirical evidence on the merits or faults of R&R unit tests relative to alternatives. The associated paper “Maintaining Record-and-Replay Test Cases within Pragmatic Reuse Scenarios” reports on an empirical study with industrial developers that: (1) evaluates whether R&R unit tests within pragmatic reuse tasks are harder to maintain than ones written manually, and (2) investigates how developers would validate pragmatic reuse tasks in the absence of R&R tests. This technical report describes details of the process for reducing the number of cases to be considered to a manageable number.Item Open Access Validating Pragmatic Reuse Tasks(2015-01-28) Makady, Soha; Walker, RobertDisciplined software development involves the ad hoc reuse of source code that was not designed for that reuse. Such pragmatic reuse tasks have long been criticized due to a lack of systematic support, and an inability to validate that the reused code still provides its functionality of interest within the target system. Although recent work has successfully systematized support for pragmatic reuse tasks, validating those reuse tasks has not been tackled yet. Current approaches to validating reuse tasks require the developer to rely on automated test generation techniques which could miss serious defects, or to create his own test suite—a time consuming process whose correctness would be questioned due to the developer’s limited knowledge about the reused code. A third alternative would be to modify the originating system’s test suite to only exercise and validate the reused code. But such a manual editing process can result in injecting more defects into the originally high quality source code and its corresponding test suite. The thesis of this dissertation is that, by providing developers with tool support to reuse test cases within pragmatic reuse scenarios, we can leverage the quality of the pragmatically reused code, while reducing the needed manual intervention. To validate this claim, we have proposed a novel approach and tool to semi-automatically reuse and transform relevant portions of the test suite associated with pragmatically reused source code, as a means to validate that the relevant constraints from the originating system continue to hold, while minimizing the needed developer intervention. We have evaluated various aspects of our proposed approach, through a series of empirical studies, and using a variety of source systems and tasks. The results show that, relative to the manual approach, our approach reduces task completion time and improves the correctness of the reused test cases. Furthermore, our proposed approach can make the process of finding and fixing errors within pragmatic reuse tasks faster, and its transformed test cases can be maintained.