Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
A semantical approach to method-call interception
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Computer
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
Deriving refactorings for AspectJ
Proceedings of the 4th international conference on Aspect-oriented software development
Role-based refactoring of crosscutting concerns
Proceedings of the 4th international conference on Aspect-oriented software development
Deriving refactorings for AspectJ
Proceedings of the 4th international conference on Aspect-oriented software development
An overview of JML tools and applications
International Journal on Software Tools for Technology Transfer (STTT) - Special section on formal methods for industrial critical systems
An approach to aspect refactoring based on crosscutting concern types
MACS '05 Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
Automated Refactoring of Object Oriented Code into Aspects
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
Distribution and persistence as aspects
Software—Practice & Experience - Research Articles
Jose: Aspects for Design by Contract80-89
SEFM '06 Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Towards reusable and modular aspect-oriented concurrency control
Proceedings of the 2007 ACM symposium on Applied computing
An illustrative example of refactoring object-oriented source code with aspect-oriented mechanisms
Software—Practice & Experience
Tool-supported refactoring of aspect-oriented programs
Proceedings of the 7th international conference on Aspect-oriented software development
Implementing Java modeling language contracts with AspectJ
Proceedings of the 2008 ACM symposium on Applied computing
Challenge proposal: verification of refactorings
Proceedings of the 3rd workshop on Programming languages meets program verification
Making Program Refactoring Safer
IEEE Software
JML’s rich, inherited specifications for behavioral subtypes
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Towards a catalogue of refactorings and code smells for aspectj
Transactions on Aspect-Oriented Software Development I
Client-aware checking and information hiding in interface specifications with JML/ajmlc
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
Hi-index | 0.00 |
The AspectJ JML compiler (ajmlc) explores aspect-oriented programming (AOP) mechanisms to implement JML specifications, such as pre- and postconditions, and enforce them during runtime. This compiler was created to improve source-code modularity. Some experiments were conducted to evaluate the performance of the code generated through ajmlc. Results demonstrated that the strategy of adopting AOP to implement JML specifications is very promising. However, there is still a need for optimization of the generated code's bytecode size and running time. This paper presents a catalog of transformations which represent the optimizations implemented in the new optimized version of the ajmlc compiler. We employ such transformations to reduce the bytecode size and running time of the code generated through the ajmlc compiler. Aiming at demonstrating the impact of such transformation on the code quality, we conduct an empirical study using four applications in optimized and non-optimized versions generated by ajmlc. We show that our AOP transformations provide a significant improvement, regarding bytecode size and running time.