The paradoxical success of aspect-oriented programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Identifying, Assigning, and Quantifying Crosscutting Concerns
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
A role-based crosscutting concerns mining approach to evolve Java systems towards AOP
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
On the impact of crosscutting concern projection on code measurement
Proceedings of the tenth international conference on Aspect-oriented software development
On the proactive identification of mistakes on concern mapping tasks
Proceedings of the tenth international conference on Aspect-oriented software development companion
Using structural and textual information to capture feature coupling in object-oriented software
Empirical Software Engineering
On the relationship of concern metrics and requirements maintainability
Information and Software Technology
Do crosscutting concerns cause modularity problems?
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Hi-index | 0.00 |
Much of the complexity of software arises from the interactions between disparate concerns. Even in well-designed software, some concerns can not always be encapsulated in a module. Research on separation of concerns seeks to address this problem, but we lack an understanding of how programmers conceptualize the notion of a concern and then identify that concern in code. In this work, we have conducted two exploratory case studies to better understand these issues. The case studies involved programmers identifying concerns and associated code in existing, unfamiliar software: GNU's sort.c and the game Minesweeper. Based on our experiences with these two case studies, we have identified several types of concerns and have detailed a number of factors that impact programmer identification of concerns. Based on these insights, we have created two sets of guidelines: one to help programmers identify relevant concerns and another to help programmers identify code relating to concerns.