Eduardo Martins Guerra

Learn More
Metadata-based frameworks are those that process their logic based on the metadata of the classes whose instances they are working with. Many recent frameworks use this to get a higher reuse level and to be more suitably adapted to the application needs. However, there is not yet a complete best practices documentation or reference architecture for the(More)
Code annotations are a new feature introduced in Java 5.0 and ever since have begun to be widely adopted in the development of frameworks and applications. In order to provide better code structure and reduce the number of necessary configurations, the frameworks developed with code annotations used common practices in the annotation definitions. This paper(More)
Test driven development is a technique in which the refactoring occurs all the time, in the application code and in the test code. But there is not a method to guarantee that the test code behavior after one refactoring remains unchanged. This paper presents a representation based on the JUnit unit test structure, as well as a classification of test code(More)
The usage of metadata-based frameworks is becoming popular for some kinds of software, such as Web and enterprise applications. However, it is not clear for which kinds of problems this approach can be applied. This paper presents a study that investigated the metadata usage in existing frameworks and documented recurrent solutions as architectural(More)
Software developers currently understand that the real complexity in most applications lies in the problem domain the software is dealing with. The approach known as domain-driven design follows the premises that, for most software projects, the primary focus should be on the domain and domain logic, and that complex domain designs should be based on a(More)
Frameworks aims to provide a reusable functionality and structure to be used in distinct applications. Aspect-oriented frameworks address crosscutting concerns and provide ways to attach itself in the application in a transparent way. However, using aspects the variations in the behavior can only be customized by aspect inheritance, which can increase(More)
In order to customize their behavior at runtime, a wide sort of modern frameworks do use code annotations at the applications‟ classes as metadata configuration. However, despite its popularity, this type of metadata definition inserts complexity and semantic coupling that is ignored by traditional software metrics. This paper presents identified bad smells(More)