Why functional programming matters
The Computer Journal - Special issue on Lazy functional programming
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Back to the future: a retroactive study of aspect evolution in operating system code
Proceedings of the 2nd international conference on Aspect-oriented software development
Pointcuts and advice in higher-order languages
Proceedings of the 2nd international conference on Aspect-oriented software development
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
IEEE Transactions on Software Engineering
Aspectual Caml: an aspect-oriented functional language
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Feature oriented refactoring of legacy applications
Proceedings of the 28th international conference on Software engineering
Efficiently mining crosscutting concerns through random walks
Proceedings of the 6th international conference on Aspect-oriented software development
On the relation of aspects and monads
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
A Case Study Implementing Features Using AspectJ
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Designing Software for Ease of Extension and Contraction
IEEE Transactions on Software Engineering
AspectML: A polymorphic aspect-oriented functional programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
IEEE Transactions on Software Engineering
FEATUREHOUSE: Language-independent, automated software composition
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Model Superimposition in Software Product Lines
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Type-Checking Software Product Lines - A Formal Approach
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Superimposition: a language-independent approach to software composition
SC'08 Proceedings of the 7th international conference on Software composition
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Separation of concerns with procedures, annotations, advice and pointcuts
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Demeter interfaces: adaptive programming without surprises
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Language-Independent Quantification and Weaving for Feature Composition
SC '09 Proceedings of the 8th International Conference on Software Composition
Language-independent reference checking in software product lines
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Semistructured merge: rethinking merge in revision control systems
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Access control in feature-oriented programming
Science of Computer Programming
Hi-index | 0.00 |
The separation of concerns is a fundamental principle in software engineering. Crosscutting concerns are concerns that do not align with hierarchical and block decomposition supported by mainstream programming languages. In the past, crosscutting concerns have been studied mainly in the context of object orientation. Feature orientation is a novel programming paradigm that supports the (de)composition of crosscutting concerns in a system with a hierarchical block structure. In two case studies we explore the problem of crosscutting concerns in functional programming and propose two solutions based on feature orientation.