Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Marius Marin is active.

Publication


Featured researches published by Marius Marin.


working conference on reverse engineering | 2004

Identifying aspects using fan-in analysis

Marius Marin; A. Van Deursen; Leon Moonen

The issues of code scattering and tangling, thus of achieving a better modularity for a systems concerns, are addressed by the paradigm of aspect orientation. Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This work describes a technique based on determining methods that are called from many different places (and hence have a high fan-in) to identify candidate aspects in a number of open-source Java systems. The most interesting aspects identified are discussed in detail, which includes several concerns not previously discussed in the aspect-oriented literature. The results show that a significant number of aspects can be recognized using fan-in analysis, and that the technique is suitable for a high degree of automation.


ACM Transactions on Software Engineering and Methodology | 2007

Identifying Crosscutting Concerns Using Fan-In Analysis

Marius Marin; Arie van Deursen; Leon Moonen

Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This article proposes an aspect mining approach based on determining methods that are called from many different places, and hence have a high fan-in, which can be seen as a symptom of crosscutting functionality. The approach is semiautomatic, and consists of three steps: metric calculation, method filtering, and call site analysis. Carrying out these steps is an interactive process supported by an Eclipse plug-in called FINT. Fan-in analysis has been applied to three open source Java systems, totaling around 200,000 lines of code. The most interesting concerns identified are discussed in detail, which includes several concerns not previously discussed in the aspect-oriented literature. The results show that a significant number of crosscutting concerns can be recognized using fan-in analysis, and each of the three steps can be supported by tools.


workshop on program comprehension | 2005

A qualitative comparison of three aspect mining techniques

Mariano Ceccato; Marius Marin; Kim Mens; Leon Moonen; Paulo Tonella; Tom Tourwé

The fact that crosscutting concerns (aspects) cannot be well modularized in object oriented software is an impediment to program comprehension: the implementation of a concern is typically scattered over many locations and tangled with the implementation of other concerns, resulting in a system that is hard to explore and understand. Aspect mining aims to identify crosscutting concerns in a system, thereby improving the systems comprehensibility and enabling migration of existing (object-oriented) programs to aspect-oriented ones. In this paper, we compare three aspect mining techniques that were developed independently by different research teams: fan-in analysis, identifier analysis and dynamic analysis. We apply each technique to the same case (JHotDraw) and mutually compare the individual results of each technique based on the discovered aspects and on the level of detail and quality of those aspects. Strengths, weaknesses and underlying assumptions of each technique are discussed, as well as their complementarity. We conclude with a discussion of possible ways to combine the techniques in order to achieve a better overall aspect-mining technique.


Software Quality Journal | 2006

Applying and combining three different aspect Mining Techniques

Mariano Ceccato; Marius Marin; Kim Mens; Leon Moonen; Paolo Tonella; Tom Tourwé

Understanding a software system at source-code level requires understanding the different concerns that it addresses, which in turn requires a way to identify these concerns in the source code. Whereas some concerns are explicitly represented by program entities (like classes, methods and variables) and thus are easy to identify, crosscutting concerns are not captured by a single program entity but are scattered over many program entities and are tangled with the other concerns. Because of their crosscutting nature, such crosscutting concerns are difficult to identify, and reduce the understandability of the system as a whole.In this paper, we report on a combined experiment in which we try to identify crosscutting concerns in the JHotDraw framework automatically. We first apply three independently developed aspect mining techniques to JHotDraw and evaluate and compare their results. Based on this analysis, we present three interesting combinations of these three techniques, and show how these combinations provide a more complete coverage of the detected concerns as compared to the original techniques individually. Our results are a first step towards improving the understandability of a system that contains crosscutting concerns, and can be used as a basis for refactoring the identified crosscutting concerns into aspects.


international conference on software maintenance | 2005

A classification of crosscutting concerns

Marius Marin; Leon Moonen; A. Van Deursen

Refactoring software to apply aspect oriented solutions requires a clear understanding of what are the potential crosscutting concerns and which aspect solutions to replace them with. This process can benefit from the recognition of recurring generic concerns and their reusable aspect solutions. In this paper, we propose a classification of crosscutting concerns in sorts based on the analysis of various refactoring efforts. We discuss how sorts help concern understanding and refactoring, how they support the identification of crosscutting concerns, and how they can contribute to the evolution of aspect languages.


ACM Sigsoft Software Engineering Notes | 2005

An approach to aspect refactoring based on crosscutting concern types

Marius Marin; Leon Moonen; Arie van Deursen

We argue for the importance of organizing generic crosscutting concerns by distinctive properties and describing them as types. A types properties consist of a general intent, an implementation idiom criteria, and one (desired) aspect language mechanism to address the concerns within the specific type. We argue the usefulness of this approach for aspect refactoring, and in the areas of concern identification and aspect languages development.


automated software engineering | 2009

An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw

Marius Marin; Arie van Deursen; Leon Moonen; Robin van der Rijst

In this paper we propose a systematic strategy for migrating crosscutting concerns in existing object-oriented systems to aspect-oriented programming solutions. The proposed strategy consists of four steps: mining, exploration, documentation and refactoring of crosscutting concerns. We discuss in detail a new approach to refactoring to aspect-oriented programming that is fully integrated with our strategy, and apply the whole strategy to an object-oriented system, namely the JHotDraw framework.Moreover, we present a method to semi-automatically perform the aspect-introducing refactorings based on identified crosscutting concern sorts which is supported by a prototype tool called sair. We perform an exploratory case study in which we apply this tool on the same object-oriented system and compare its results with the results of manual migration in order to assess the feasibility of automated aspect refactoring. Both the refactoring tool sair and the results of the manual migration are made available as open-source, the latter providing the largest aspect-introducing refactoring available to date.We report on our experiences with conducting both case studies and reflect on the success and challenges of the migration process.


working conference on reverse engineering | 2006

FINT: Tool Support for Aspect Mining

Marius Marin; Leon Moonen; Arie van Deursen

Aspect mining requires adequate tool support to locate source code elements implementing crosscutting concerns (aka seeds), to explore and understand relations describing these elements, and to manage concerns and seeds during the projects life cycle. FlNT is a tool implemented as an Eclipse plug-in that presently supports a number of techniques for the automatic identification of crosscutting concern seeds in source code. Furthermore, FlNT allows for combination of mining techniques (results), facilitates code navigation and comprehension to reason and decide about candidate-seeds, and supports seeds management and persistence


source code analysis and manipulation | 2007

An Integrated Crosscutting Concern Migration Strategy and its Application to JHOTDRAW

Marius Marin; Leon Moonen; A. Van Deursen

In this paper we propose a systematic strategy for migrating crosscutting concerns in existing object-oriented systems to aspect-based solutions. The proposed strategy consists of four steps: mining, exploration, documentation and refactoring of crosscutting concerns. We discuss in detail a new approach to aspect refactoring that is fully integrated with our strategy, and apply the whole strategy to an object-oriented system, namely the JHotDrAW framework. The result of this migration is made available as an open-source project, which is the largest aspect refactoring available to date. We report on our experiences with conducting this case study and reflect on the success and challenges of the migration process, as well as on the feasibility of automatic aspect refactoring.


working conference on reverse engineering | 2007

Documenting Typical Crosscutting Concerns

Marius Marin; Leon Moonen; A. Van Deursen

Our analysis of crosscutting concerns in real-life software systems (totaling over 500,000 LOC) and in reports from literature indicated a number of properties that allow for their decomposition in primitive building blocks which are atomic crosscutting concerns. We classify these blocks in crosscutting concern sorts, and we use them to describe the cross- cutting structure of many (well-known) designs and common mechanisms in software systems. In this paper, we formalize the notion of crosscutting concern sorts by means of relational queries over (object-oriented) source models. Based on these queries, we present a concern management tool called SoQUET, which can be used to document the occurrences of crosscutting concerns in object-oriented systems. We assess the sorts-based approach by using the tool to cover various crosscutting concerns in two open-source systems: JHOTDRAW and Java PETSTORE.

Collaboration


Dive into the Marius Marin's collaboration.

Top Co-Authors

Avatar

Leon Moonen

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Arie van Deursen

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

A. Van Deursen

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Kim Mens

Université catholique de Louvain

View shared research outputs
Top Co-Authors

Avatar

Tom Tourwé

Vrije Universiteit Brussel

View shared research outputs
Top Co-Authors

Avatar

Robin van der Rijst

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Leon Moonen

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Paolo Tonella

fondazione bruno kessler

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge