Behavior-driven Design Pattern Recovery
نویسندگان
چکیده
In this paper, we present an approach for enhancing program understanding and reusability through a behaviordriven design pattern recovery process. In this context, incorporating behavioral features would characterize the approach as a goal-driven and scalable pattern recovery process. The proposed technique consists of a featureoriented dynamic analysis and a two-phase design pattern detection process. The dynamic analysis operates on the system’s scenario-driven execution traces and produces a mapping between features and their implementation at class level. For the two-phase design pattern detection, we employ approximate matching and structural matching algorithms to identify the instances of the target design pattern that is described using our proposed Pattern Description Language (PDL). The correspondence between system features and identified design pattern instances can facilitate the construction of more reusable and configurable software components to be maintained. We have implemented an Eclipse plug-in toolkit and have conducted experimentation on three versions of JHotDraw systems to evaluate our approach.
منابع مشابه
Run-Time Verification of Behavioral Conformance for Conversational Web services
Transactional patterns are used to specify flexible and reliable composite Web services. A transactional pattern is a convergence concept between workflow patterns and advanced transactional models. These are of coordination patterns and as a structured transaction. This project proposes an event-driven approach to validate the transactional behavior of service compositions. The transactional b...
متن کاملPattern-Driven Reverse Engineering
A fundamental weakness of conventional reverse engineering approaches is the lack of support in identifying program structures and recurring patterns. The integration of human domain knowledge represented via patterns can significantly improve design recovery results. The recognition of a program’s design leads to recurring patterns that, at present, have to be identified in demanding tasks by ...
متن کاملTowards a Model-driven Approach for Reverse Engineering Design Patterns
The size and complexity of software systems is rapidly increasing. Meanwhile, the ability to understand and maintain such systems is decreasing almost as fast. Model Driven Engineering (MDE) promotes the notion of modeling to cope with software complexity; in this paper we report on our research that utilizes ontological modeling for understanding complex software systems. We focus the discussi...
متن کاملDynamic Analysis and Design Pattern Detection in Java Programs
Identifying design patterns within an existing software system can support understandability and reuse of the system’s core functionality. In this context, incorporating behavioral features into the design pattern recovery would enhance the scalability of the process. The main advantage of the new approach in this paper over the existing approaches is incorporating dynamic analysis and feature ...
متن کاملThe Reliable Hybrid Pattern A Generalized Software Fault Tolerant Design Pattern
In order to make software applications more reliable, it may be necessary to incorporate into them a strategy for tolerating software faults. In the case of critical applications, this is essential. In this paper we describe a general pattern, which we call the Reliable Hybrid pattern, that can be used to design fault tolerant software applications. The pattern supports development of applicati...
متن کامل