Incremental data flow analysis via dominator and attribute update
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automating software analysis and testing using a program transformation system
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
SPARE: A Development Environment for Program Analysis Algorithms
IEEE Transactions on Software Engineering
Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
Sharlit—a tool for building optimizers
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Program Concept Recognition and Transformation
IEEE Transactions on Software Engineering - Special issue on software maintenance
Automatic generation and management of interprocedural program analyses
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Lattice frameworks for multisource and bidirectional data flow problems
ACM Transactions on Programming Languages and Systems (TOPLAS)
A flexible architecture for building data flow analyzers
Proceedings of the 18th international conference on Software engineering
Preventive program maintenance in Demeter/Java
ICSE '97 Proceedings of the 19th international conference on Software engineering
An approach for exploring code improving transformations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Partial online cycle elimination in inclusion constraint graphs
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Update semantics of relational views
ACM Transactions on Database Systems (TODS)
MultiJava: modular open classes and symmetric multiple dispatch for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Communications of the ACM
Software product lines: practices and patterns
Software product lines: practices and patterns
Proving correctness of compiler optimizations by temporal logic
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Foundations of Databases: The Logical Level
Foundations of Databases: The Logical Level
Incremental evaluation for attribute grammars with application to syntax-directed editors
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Hyper/J™: multi-dimensional separation of concerns for Java™
Proceedings of the 24th International Conference on Software Engineering
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Data Flow Analysis as Model Checking
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Coping with Crosscutting Software Changes Using Information Transparency
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
DJ: Dynamic Adaptive Programming in Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Generation of Efficient Interprocedural Analyzers with PAG
SAS '95 Proceedings of the Second International Symposium on Static Analysis
Program Analysis Using Mixed Term and Set Constraints
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Eclipse Modeling Framework
Practical analysis for refactoring
Practical analysis for refactoring
Refactoring for generalization using type constraints
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Making patterns explicit with metaprogramming
Proceedings of the 2nd international conference on Generative programming and component engineering
Incremental execution of transformation specifications
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
Cloning-based context-sensitive pointer alias analysis using binary decision diagrams
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
A programmable editor for developing structured documents based on bidirectional transformations
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
iXj: interactive source-to-source transformations for java
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
FUNCTIONAL PEARL Pickler combinators
Journal of Functional Programming
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Automated soundness proofs for dataflow analyses and transformations via local rules
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Role-based refactoring of crosscutting concerns
Proceedings of the 4th international conference on Aspect-oriented software development
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
An approach to aspect refactoring based on crosscutting concern types
MACS '05 Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
Refactoring support for class library migration
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Finding application errors and security flaws using PQL: a program query language
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Modular Software Design with Crosscutting Interfaces
IEEE Software
Feature oriented refactoring of legacy applications
Proceedings of the 28th international conference on Software engineering
JunGL: a scripting language for refactoring
Proceedings of the 28th international conference on Software engineering
biXid: a bidirectional transformation language for XML
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Design Patterns in Java(TM) (2nd Edition) (Software Patterns Series)
Design Patterns in Java(TM) (2nd Edition) (Software Patterns Series)
A static aspect language for checking design rules
Proceedings of the 6th international conference on Aspect-oriented software development
Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
Program manipulation via interactive transformations
Program manipulation via interactive transformations
Modular-Like Transformations and Style Checking for Crosscutting Programming Concepts
ICSE COMPANION '07 Companion to the proceedings of the 29th International Conference on Software Engineering
DITTO: automatic incrementalization of data structure invariant checks (in Java)
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Beyond refactoring: a framework for modular maintenance of crosscutting design idioms
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Keynote Address: .QL for Source Code Analysis
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
Towards automatic model synchronization from model transformations
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Boomerang: resourceful lenses for string data
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
"Program, enhance thyself!": demand-driven pattern-oriented program enhancement
Proceedings of the 7th international conference on Aspect-oriented software development
Stratego/XT 0.17. A language and toolset for program transformation
Science of Computer Programming
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Addressing common crosscutting problems with Arcum
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
When refactoring acts like modularity: keeping options open with persistent condition checking
Proceedings of the 2nd Workshop on Refactoring Tools
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
Using twinning to adapt programs to alternative APIs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Matching lenses: alignment and view update
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Using datalog with binary decision diagrams for program analysis
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Hi-index | 0.00 |
Programmers employ crosscutting concepts, such as design patterns and other programming idioms, when their design ideas cannot be efficiently or effectively modularized in the underlying programming language. As a result, implementations of these crosscutting concepts can be hard to change even when the code is well structured. In this article, we describe Arcum, a system that supports the modular maintenance of crosscutting concepts. Arcum can be used to both check essential constraints of crosscutting concepts and to substitute crosscutting concept implementations with alternative implementations. Arcum is complementary to existing refactoring systems that focus on meaning-preserving program transformations at the programming-language-semantics level, because Arcum focuses on transformations at the conceptual level. We present the underpinnings of the Arcum approach and show how Arcum can be used to address several classical software engineering problems.