Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern-based reverse-engineering of design components
Proceedings of the 21st international conference on Software engineering
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Design Recovery by Automated Search for Structural Design Patterns in Object-Oriented Software
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
Design Pattern Recovery in Object-Oriented Software
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Simple and Efficient Relational Querying of Software Structures
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
A methodology to assess the impact of design patterns on software quality
Information and Software Technology
Hi-index | 0.00 |
We strive to detect design pattern like patterns in software. This cannot be done efficiently with sufficient precision using only static analysis; we need to combine static and dynamic analysis. In this process, the pattern candidates produced from static analysis are monitored during executions of the software: Candidates detected by static analysis violating the expected dynamic protocol of the pattern are excluded. In this article, we investigate where to put effort when trying to perform high precision pattern detection in code. We do so by investigating which parameters are most important to improve the precision of the detection process: precision of initial static analysis or coverage of the dynamic analysis. Varying the precision of the dynamic analysis is a third important parameter, but this parameter is left as a constant during our experiments. The results show that simple behavioral protocols double the precision when 30% coverage is obtained. We also have indications that simple behavioral protocols give very high precision when high coverage is obtained. In such case, the quality of the static analysis is only interesting for precision if high coverage cannot be reached.