Research Areas and Projects

(PortuguÍs)

Aspect-Oriented Programming, Separation of Concerns, Refactoring

We are defining an implementation method that separates data management, distribution, and concurrency control concerns using Aspect-Oriented Programming. We are also working on patterns, guidelines and techniques for applying Aspect-Oriented Programming for providing adaptability for existent and novel systems. Refactorings for AspectJ are also being considered here. We are also concerned to design experimental studies in order to evaluate the defined methods, tecniques, and approaches.

Aspect-Oriented Programming and Software Product Lines

We are investigating how to model variability in a product-line architecture using Aspect-Oriented Programming techniques. The model addresses both functional and non-functional requirements and complies with quality standards. In particular, our approach aims at providing a method to instantiate a particular product in the line with AOP techniques. Tool support will also be provided to automate the process.

Refactoring and Generative Programming

We are currently developing JaTS, a Java transformation system that supports user-defined program transformations. In this way, the user can define new refactorings and code generation templates using a declarative language for specifying the new transformations. An extension of JaTS for AspectJ is also being developed.

Refactoring and Formal Methods

Alloy is a declarative object-oriented modeling language similar to UML, yet simpler and clearer. It is based on first-order logic and relational theory, and amenable for fully automatic analysis. Our goals are defining and proving transformation laws for Alloy models, applying to widely-adopted model transformations as used in Refactorings and MDA (Model-Driven Architecture). In addition, we are investigating the mapping of these model transformations to Java program transformations, assuring the adequate correspondence between abstract models and code.

As part of the COOP project, we are also defining algebraic laws for a Java-like language and formally deriving refactorings from those laws.

Software Estimation Models

In association with Motorola Brazil, we are investigating how to estimate the effort needed to execute and automate tests for cell phone using historical data, statistical models and simulation methods. We are also investigating how to estimate the capability of current teams for doing these test activities.

In addition, we are investigating historical data in order to find relationships of software metrics (complexity, test coverage, etc.) and defect information (defect density, escaped defect, defect distribution, etc.). We intend to create models to optimize test efforts and minimize the estimated defect density.

-- EduardoAranha - 08 Aug 2005 -- SergioSoares - 28 Jul 2005

Edit | Attach | Print version | History: r44 | r35 < r34 < r33 < r32 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r33 - 2005-08-08 - EduardoAranha
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback

mersin escort bayan adana escort bayan izmit escort ankara escort bursa escort