1,907 research outputs found
Minimal TestCase Generation for Object-Oriented Software with State Charts
Today statecharts are a de facto standard in industry for modeling system
behavior. Test data generation is one of the key issues in software testing.
This paper proposes an reduction approach to test data generation for the
state-based software testing. In this paper, first state transition graph is
derived from state chart diagram. Then, all the required information are
extracted from the state chart diagram. Then, test cases are generated. Lastly,
a set of test cases are minimized by calculating the node coverage for each
test case. It is also determined that which test cases are covered by other
test cases. The advantage of our test generation technique is that it optimizes
test coverage by minimizing time and cost. The present test data generation
scheme generates test cases which satisfy transition path coverage criteria,
path coverage criteria and action coverage criteria. A case study on Railway
Ticket Vending Machine (RTVM) has been presented to illustrate our approach.Comment: 21 pages, 7 figures, 3-4 tables; International Journal of Software
Engineering & Applications (IJSEA), Vol.3, No.4, July 2012. arXiv admin note:
substantial text overlap with arXiv:1206.037
A heuristic-based approach to code-smell detection
Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache
Ensuring behavioural equivalence in test-driven porting
In this paper we present a test-driven approach
to porting code from one object-oriented language
to another. We derive an order for
the porting of the code, along with a testing
strategy to verify the behaviour of the
ported system at intra and inter-class level.
We utilise the recently defined methodology
for porting C++ applications, eXtreme porting,
as a framework for porting. This defines
a systematic routine based upon porting
and unit-testing classes in turn. We augment
this approach by using Object Relation
Diagrams to define an order for porting that
minimises class stubbing. Since our strategy
is class-oriented and test-driven, we can ensure
the structural equivalence of the ported
system, along with the limited behavioural
equivalence of each class. In order to extend
this to integration-level equivalence, we exploit
aspect-oriented programming to generate UML
sequence diagrams, and we present a technique
to compare such automatically-generated diagrams
for equivalence. We demonstrate and
evaluate our approach using a case study that
involves porting an application from C++ to
Java
Ensuring behavioural equivalence in test-driven porting
In this paper we present a test-driven approach
to porting code from one object-oriented language
to another. We derive an order for
the porting of the code, along with a testing
strategy to verify the behaviour of the
ported system at intra and inter-class level.
We utilise the recently defined methodology
for porting C++ applications, eXtreme porting,
as a framework for porting. This defines
a systematic routine based upon porting
and unit-testing classes in turn. We augment
this approach by using Object Relation
Diagrams to define an order for porting that
minimises class stubbing. Since our strategy
is class-oriented and test-driven, we can ensure
the structural equivalence of the ported
system, along with the limited behavioural
equivalence of each class. In order to extend
this to integration-level equivalence, we exploit
aspect-oriented programming to generate UML
sequence diagrams, and we present a technique
to compare such automatically-generated diagrams
for equivalence. We demonstrate and
evaluate our approach using a case study that
involves porting an application from C++ to
Java
Metamodel-based model conformance and multiview consistency checking
Model-driven development, using languages such as UML and BON, often makes use of multiple diagrams (e.g., class and sequence diagrams) when modeling systems. These diagrams, presenting different views of a system of interest, may be inconsistent. A metamodel provides a unifying framework in which to ensure and check consistency, while at the same time providing the means to distinguish between valid and invalid models, that is, conformance. Two formal specifications of the metamodel for an object-oriented modeling language are presented, and it is shown how to use these specifications for model conformance and multiview consistency checking. Comparisons are made in terms of completeness and the level of automation each provide for checking multiview consistency and model conformance. The lessons learned from applying formal techniques to the problems of metamodeling, model conformance, and multiview consistency checking are summarized
An extended configurable UML activity diagram and a transformation algorithm for business process reference modeling
Enterprise Resource Planning (ERP) solutions provide generic off-the-shelf reference models usually known as best practices . The configuration !individualization of the reference model to meet specific requirements of business end users however, is a difficult task. The available modeling languages do not provide a complete configurable language that could be used to model configurable reference models. More specifically, there is no algorithm that monitors the transformation of configurable UML Activity Diagram (AD) models while preserving the syntactic correctness of the model. To fill these gaps we propose an extended UML AD modeling language which we named Configurable UML Activity Diagram (C-UML AD). The C-UML AD is used to represent a reference model while showing all the variation points and corresponding dependencies within the model. The C-UML AD covers the requirements and attributes of a configurable modeling language as prescribed by earlier researchers who developed Configurable EPC (C-EPC). We also propose a complete algorithm that transforms the C-UML AD business model to an individual consistent UML AD business model, where the end user\u27s configuration values are consistent with the constraints of the model. Meanwhile, the syntactic correctness of the transformed model is preserved. We validated the Transformation Algorithm by showing how all the transformation steps of the algorithm preserve the syntactic correctness of any given configurable business model, as prescribed by earlier researchers, and by running it on different sets of test scenarios to demonstrate its correctness. We developed a tool to apply the Transformation Algorithm and to demonstrate its validity on a set of test cases as well as a real case study that was used by earlier researchers who developed the C-EPC
Proceedings of Monterey Workshop 2001 Engineering Automation for Sofware Intensive System Integration
The 2001 Monterey Workshop on Engineering Automation for Software Intensive System Integration was sponsored by the Office of Naval Research, Air Force Office of Scientific Research, Army Research Office and the Defense Advance Research Projects Agency. It is our pleasure to thank the workshop advisory and sponsors for their vision of a principled engineering solution for software and for their many-year tireless effort in supporting a series of workshops to bring everyone together.This workshop is the 8 in a series of International workshops. The workshop was held in Monterey Beach Hotel, Monterey, California during June 18-22, 2001. The general theme of the workshop has been to present and discuss research works that aims at increasing the practical impact of formal methods for software and systems engineering. The particular focus of this workshop was "Engineering Automation for Software Intensive System Integration". Previous workshops have been focused on issues including, "Real-time & Concurrent Systems", "Software Merging and Slicing", "Software Evolution", "Software Architecture", "Requirements Targeting Software" and "Modeling Software System Structures in a fastly moving scenario".Office of Naval ResearchAir Force Office of Scientific Research Army Research OfficeDefense Advanced Research Projects AgencyApproved for public release, distribution unlimite
- …