AI Expert
3-tier client/server at work
AntiPatterns: refactoring software, architectures, and projects in crisis
AntiPatterns: refactoring software, architectures, and projects in crisis
Software performance antipatterns
Proceedings of the 2nd international workshop on Software and performance
Performance Engineering of Software Systems
Performance Engineering of Software Systems
Core J2EE Patterns: Best Practices and Design Strategies
Core J2EE Patterns: Best Practices and Design Strategies
Performance and scalability of EJB applications
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
PASASM: a method for the performance assessment of software architectures
WOSP '02 Proceedings of the 3rd international workshop on Software and performance
Using J2EE on a Large, Web-Based Project
IEEE Software
The art of the Metaobject Protocol
IEEE Expert: Intelligent Systems and Their Applications
Reconstructing Software Architecture for J2EE Web Applications
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Using Software Architecture for Code Testing
IEEE Transactions on Software Engineering
Predicting the performance of middleware-based applications at the design level
WOSP '04 Proceedings of the 4th international workshop on Software and performance
Computer
IEEE Internet Computing
Analyzing the Impact of Components Replication in High Available J2EE Clusters
ICAS-ICNS '05 Proceedings of the Joint International Conference on Autonomic and Autonomous Systems and International Conference on Networking and Services
Stability of Feature Selection Algorithms
ICDM '05 Proceedings of the Fifth IEEE International Conference on Data Mining
Applying AspectJ to J2EE Application Development
IEEE Software
A Performance Validation Tool for J2EE Applications
ECBS '06 Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems
Pro Java EE 5 Performance Management and Optimization (Pro)
Pro Java EE 5 Performance Management and Optimization (Pro)
Using Java method traces to automatically characterize and model J2EE server applications
Proceedings of the 38th conference on Winter simulation
An aspect-oriented implementation of the EJB3.0 persistence concept
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
An evaluation of the middleware's impact on the performance of object oriented distributed systems
Journal of Systems and Software
Performance Modeling and Evaluation of Distributed Component-Based Systems Using Queueing Petri Nets
IEEE Transactions on Software Engineering
A Comparative Evaluation of EJB Implementation Methods
ISORC '07 Proceedings of the 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing
Improving data access of J2EE applications by exploiting asynchronous messaging and caching services
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
Continuous and automated evolution of architecture-to-implementation traceability links
Automated Software Engineering
Detecting anti-patterns in Java EE runtime system model
Proceedings of the Fourth Asia-Pacific Symposium on Internetware
Hi-index | 12.05 |
Designing a JEE (Java Enterprise Edition)-based enterprise application capable of achieving its performance objectives is rather hard. Predicting the performance of this type of systems at the design level is difficult and sometimes not viable, because this requires having precise knowledge of the expected load conditions and the underlying software infrastructure. Besides, the requirement for rapid time-to-market leads to postpone performance tuning until systems are developed, packaged and running. In this paper we present a novel approach for automatically detecting performance problems in JEE-based applications and, in turn, suggesting courses of actions to correct them. The idea is to allow developers to smoothly identify and eradicate performance anti-patterns by automatically analyzing execution traces. The approach has been implemented as a tool called JEETuningExpert, and validated using three well-known JEE reference applications. Specifically, we evaluated the effectiveness of JEETuningExpert for detecting performance problems, measured the overhead imposed by online monitoring each application and the improvements were achieved after following the suggested corrective actions. These results empirically showed that the refactored applications are 40.08%, 76.94% and 61.13% faster, on average.