Principles of programming languages: design, evaluation, and implementation (2nd ed.)
Principles of programming languages: design, evaluation, and implementation (2nd ed.)
Seesoft-A Tool for Visualizing Line Oriented Software Statistics
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Code complete: a practical handbook of software construction
Code complete: a practical handbook of software construction
Automated assistance for program restructuring
ACM Transactions on Software Engineering and Methodology (TOSEM)
Architectural Tradeoffs for a Meaning-Preserving Program Restructuring Tool
IEEE Transactions on Software Engineering - Special issue on software architecture
Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Lightweight source model extraction
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Computer
Tool support for planning the restructuring of data abstractions in large systems
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Open implementation design guidelines
ICSE '97 Proceedings of the 19th international conference on Software engineering
An intelligent tool for re-engineering software modularity
ICSE '91 Proceedings of the 13th international conference on Software engineering
Hyper/J: multi-dimensional separation of concerns for Java
Proceedings of the 22nd international conference on Software engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Exploiting the map metaphor in a tool for software evolution
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
The Mythical Man-Month: Essays on Softw
The Mythical Man-Month: Essays on Softw
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
DJ: Dynamic Adaptive Programming in Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
The modular structure of complex systems
ICSE '84 Proceedings of the 7th international conference on Software engineering
Feature engineering of software systems
Feature engineering of software systems
ASTLOG: a language for examining abstract syntax trees
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Design and Specification of the Minimal Subset of an Operating System Family
IEEE Transactions on Software Engineering
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Visual separation of concerns through multidimensional program storage
Proceedings of the 2nd international conference on Aspect-oriented software development
Design Pattern Rationale Graphs: linking design to source
Proceedings of the 25th International Conference on Software Engineering
AspectBrowser for Eclipse: a case study in plug-in retargeting
eclipse '04 Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange
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
Using language clues to discover crosscutting concerns
MACS '05 Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
An exploration of how comments are used for marking related code fragments
MACS '05 Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
The paradoxical success of aspect-oriented programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
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
A direct path to dependable software
Communications of the ACM - A Direct Path to Dependable Software
Modular aspect-oriented design with XPIs
ACM Transactions on Software Engineering and Methodology (TOSEM)
A lightweight code analysis and its role in evaluation of a dependability case
Proceedings of the 33rd International Conference on Software Engineering
Using metaphors from natural discussion to improve the design of arcum
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
A framework for the checking and refactoring of crosscutting concepts
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Designers are often unsuccessful in designing for change using traditional modularity techniques. A complementary modularity technique called information transparency can improve a designer's ability to simplify changes by exposing the interdependence of dispersed program elements that must be changed together for correctness. Information transparency represents modules via similarity and architecture, rather than locality and abstraction.With these, a programmer can create locality with a software tool, easing change in much the same way as traditional modularity. When combined with information hiding, then, more complex module structures can be represented. Information transparency techniques include naming conventions, formatting style, and ordering of code in a file. Transparency can be increased by better matching tool capabilities and programming style. We discuss applications of information transparency and introduce design principles for software designers and tool designers.