ABSTRACT Software may contain functionality that does not align with its architecture. Such cross-cutting concerns do not exist from the beginning but emerge over time. By analysing where developers add code to a program, our history-based mining identifies cross-cutting concerns in a two-step process. First, we mine CVS archives for sets of methods where a call to a specific single method was added. In a second step, such simple cross-cutting concerns are combined to complex cross-cutting concerns. To compute these efficiently, we apply formal concept analysis-an algebraic theory. History-based mining scales well: we are the first to report aspects mined from an industrial-sized project like Eclipse. For example, we identified a locking co...
Modularization of concerns is important for software development. Object oriented programming paradi...
Aspect-oriented re-engineering of legacy systems means to discover all parts of code that are involv...
Aspect mining improves the modularity of legacy software systems through identifying their underlyin...
Software may contain functionality that does not align with its architecture. Such cross-cutting con...
Software may contain functionality that does not align with its architecture. Such cross-cutting con...
Aspect mining identifies cross-cutting concerns in a program to help migrating it to an aspect-orien...
As programs evolve, newly added functionality sometimes does no longer align with the original desig...
As object-oriented programs evolve, they may suffer from the “tyranny of dominant decomposition”: Th...
As software evolves, new functionality sometimes no longer aligns with the original design, ending u...
Cross-cutting concerns are pieces of functionality that have not been captured into a separate modul...
Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existin...
Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existin...
Understanding a software system at source-code level requires understanding the different concerns t...
Inspired by our past manual aspect mining experiences, this paper describes a probabilistic random w...
Understanding a software system at source-code level requires understanding the different concerns t...
Modularization of concerns is important for software development. Object oriented programming paradi...
Aspect-oriented re-engineering of legacy systems means to discover all parts of code that are involv...
Aspect mining improves the modularity of legacy software systems through identifying their underlyin...
Software may contain functionality that does not align with its architecture. Such cross-cutting con...
Software may contain functionality that does not align with its architecture. Such cross-cutting con...
Aspect mining identifies cross-cutting concerns in a program to help migrating it to an aspect-orien...
As programs evolve, newly added functionality sometimes does no longer align with the original desig...
As object-oriented programs evolve, they may suffer from the “tyranny of dominant decomposition”: Th...
As software evolves, new functionality sometimes no longer aligns with the original design, ending u...
Cross-cutting concerns are pieces of functionality that have not been captured into a separate modul...
Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existin...
Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existin...
Understanding a software system at source-code level requires understanding the different concerns t...
Inspired by our past manual aspect mining experiences, this paper describes a probabilistic random w...
Understanding a software system at source-code level requires understanding the different concerns t...
Modularization of concerns is important for software development. Object oriented programming paradi...
Aspect-oriented re-engineering of legacy systems means to discover all parts of code that are involv...
Aspect mining improves the modularity of legacy software systems through identifying their underlyin...