Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern-based design recovery of Java software
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
A framework for interprocedural optimization in the presence of dynamic class loading
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Efficient Java RMI for parallel programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Design Pattern Rationale Graphs: linking design to source
Proceedings of the 25th International Conference on 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
J2EE Design Patterns
Java-MaC: A Run-Time Assurance Approach for Java Programs
Formal Methods in System Design
An Overview of the Runtime Verification Tool Java PathExplorer
Formal Methods in System Design
Responsibilities and Rewards: Specifying Design Patterns
Proceedings of the 26th International Conference on Software Engineering
Software validation via scalable path-sensitive value flow analysis
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Event-based runtime verification of java programs
WODA '05 Proceedings of the third international workshop on Dynamic analysis
Automatic verification of design patterns in Java
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Recognizing behavioral patterns atruntime using finite automata
Proceedings of the 2006 international workshop on Dynamic systems analysis
Automatically discovering design patterns and assessing concern separations for applications
Proceedings of the 2006 ACM symposium on Applied computing
Automated generation of monitors for pattern contracts
Proceedings of the 2006 ACM symposium on Applied computing
Effective typestate verification in the presence of aliasing
Proceedings of the 2006 international symposium on Software testing and analysis
Static Analysis of Object References in RMI-Based Java Software
IEEE Transactions on Software Engineering
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Digital certificate management for document workflows in E-government services
EGOV'10 Proceedings of the 9th IFIP WG 8.5 international conference on Electronic government
Hi-index | 0.00 |
Data Transfer Object (DTO) is a design pattern that is commonly used in Enterprise Java applications. Identification of DTOs has a range of uses for program comprehension, optimization, and evolution. We propose a dynamic analysis for identifying DTOs in Enterprise Java applications. The analysis tracks the reads and writes of object fields, and maintains information about the application tier that initiates the field access. The lifecycle of a DTO is represented by a finite state automaton that captures the relevant run-time events and the location of the code that triggers these events. We implemented the proposed approach using the JVMTI infrastructure in Java 6, and performed a study on a real-world Enterprise Java application which is deployed for commercial use. Our results indicate that the dynamic analysis achieves high precision and has acceptable overhead.