Abstract

Design patterns are widely used in design of software product in practice. To understand and discover the design patterns used in source code, we develop a run-time approach to explore the patterns from Java source code. To capture the inherent relations among patterns, we present a relational calculus to specify the patterns in a precise way. This calculus can capture the relations such as inheritance, creation, reference etc. among objects and classes. On the other hand, we use a dynamic way to construct the object diagram from source code. Thus, we transform the pattern discovery problem into the SAT one on the model we construct. With constraint solver (like SAT solver), we can decide whether the patterns regulated by the relational calculus exist in the given Java source code. The corresponding tool has been implemented and the preliminary experiments show that our approach is effective.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call