20 research outputs found
Scenariographer: a tool for reverse engineering class usage scenarios from method invocation sequences
Proceedings of the 2005 International Conference on Software Maintenance (ICSM'05), Budapest, Hungary, September, 2005. Retrieved 3/16/2006 from http://www.cs.drexel.edu/~spiros/research/papers/ICSM05a.pdfTypical documentation for object-oriented programs includes
descriptions of the parameters and return types of
each method in a class, but little or no information on valid
method invocation sequences. Knowing the sequence with
which methods of a class can be invoked is useful information
especially for software engineers (e.g., developers,
testers) who are actively involved in the maintenance of
large software systems.
This paper describes a new approach and a tool for generating
class usage scenarios (i.e., how a class is used by
other classes) from method invocations, which are collected
during the execution of the software. Our approach is algorithmic
and employs the notion of canonical sets to categorize
method sequences into groups of similar sequences,
where each group represents a usage scenario for a given
class
Assuring the model evolution of protocol software specifications by regression testing process improvement
A preliminary version of this paper has been presented at the 10th International Conference on Quality Software (QSIC 2010).Model-based testing helps test engineers automate their testing tasks so that they are more cost-effective. When the model is changed because of the evolution of the specification, it is important to maintain the test suites up to date for regression testing. A complete regeneration of the whole test suite from the new model, although inefficient, is still frequently used in the industry, including Microsoft. To handle specification evolution effectively, we propose a test case reusability analysis technique to identify reusable test cases of the original test suite based on graph analysis. We also develop a test suite augmentation technique to generate new test cases to cover the change-related parts of the new model. The experiment on four large protocol document testing projects shows that our technique can successfully identify a high percentage of reusable test cases and generate low-redundancy new test cases. When compared with a complete regeneration of the whole test suite, our technique significantly reduces regression testing time while maintaining the stability of requirement coverage over the evolution of requirements specifications. Copyright © 2011 John Wiley & Sons, Ltd.link_to_subscribed_fulltex
Vidock: a Tool for Impact Analysis of Aspect Weaving on Test Cases
Abstract. The addition of a cross-cutting concern in a program, through aspect weaving, has an impact on its existing behaviors. If test cases exist for the program, it is necessary to identify the subset of test cases that trigger the behavior impacted by the aspect. This subset serve to check that interactions between aspects and the base program do not introduce some unexpected behavior. Vidock performs a static analysis when aspects are compiled with a program to select the test cases impacted by the aspects. It leverages the pointcut descriptor to locate the set of methods impacted by aspects and then selects the test cases that can reach an impacted method. This static analysis has to perform overapproximations when the actual point where the aspect is executed can be computed only at runtime and when test cases call polymorphic objects. We measure the occurrence of these assumptions in 4986 projects containing 498 aspects to show they have a limited impact. Then, we run experiments with Vidock on 5 cases studies and analyze the impacts that different types of aspects can have on test cases.