ANNA: a language for annotating Ada programs
ANNA: a language for annotating Ada programs
Design reuse and frameworks in the smalltalk-80 system
Software reusability
The C Information Abstraction System
IEEE Transactions on Software Engineering
Effective C++: 50 specific ways to improve your programs and designs
Effective C++: 50 specific ways to improve your programs and designs
Object-oriented modeling and design
Object-oriented modeling and design
Designing and implementing Choices: an object-oriented system in C++
Communications of the ACM
Categories and context in scalable execution visualization
Journal of Parallel and Distributed Computing - Special issue on tools and methods for visualization of parallel systems and computations
Visualizing the behavior of object-oriented systems
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Tcl and the Tk toolkit
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Exploiting style in architectural design environments
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Interactive visualization of design patterns can help in framework understanding
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
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
Reverse engineering to the architectural level
Proceedings of the 17th international conference on Software engineering
An intelligent tool for re-engineering software modularity
ICSE '91 Proceedings of the 13th international conference on Software engineering
Knowledge-Based Program Analysis
IEEE Software
/spl mu/Choices: an object-oriented multimedia operating system
HOTOS '95 Proceedings of the Fifth Workshop on Hot Topics in Operating Systems (HotOS-V)
Constraining the Structure and Style of Object-Oriented Programs
Constraining the Structure and Style of Object-Oriented Programs
An Open Visual Model for Object-Oriented Operating Systems
IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
Architecture-oriented visualization
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
Tool support for software architecture
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
Requirements for an effective architecture recovery framework
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
Software visualization in the desert environment
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Predicting memory use from a class diagram using dynamic information
Proceedings of the 1st international workshop on Software and performance
Toward a formal theory of extensible software
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Architecture abstraction tower
ISAW '98 Proceedings of the third international workshop on Software architecture
Reverse engineering of use case realizations in UML
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
Obvious or not?: regulating architectural decisions using aspect-oriented programming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Design-code traceability for object-oriented systems
Annals of Software Engineering
An Approach for Recovering Distributed System Architectures
Automated Software Engineering
An Empirically-Based Process for Software Architecture Evaluation
Empirical Software Engineering
Software Reflexion Models: Bridging the Gap between Design and Implementation
IEEE Transactions on Software Engineering
Recovering Traceability Links between Code and Documentation
IEEE Transactions on Software Engineering
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
From patterns to frameworks to parallel programs
Parallel Computing - Special issue: Advanced environments for parallel and distributed computing
Design Pattern Rationale Graphs: linking design to source
Proceedings of the 25th International Conference on Software Engineering
POD: A Composition Environment for Pattern-Oriented Design
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
A UML-Based Pattern Specification Technique
IEEE Transactions on Software Engineering
Efficient Relational Calculation for Software Analysis
IEEE Transactions on Software Engineering
A pattern enforcing compiler (PEC) for Java: using the compiler
APCCM '05 Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling - Volume 43
Relational programming with CrocoPat
Proceedings of the 28th international conference on Software engineering
Object-oriented pattern-based parallel programming with automatically generated frameworks
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
ACM Transactions on Software Engineering and Methodology (TOSEM)
Defining and continuous checking of structural program dependencies
Proceedings of the 30th international conference on Software engineering
An industrial case study of architecture conformance
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Combating architectural degeneration: a survey
Information and Software Technology
Analyzing security architectures
Proceedings of the IEEE/ACM international conference on Automated software engineering
MaDe4IC: an abstract method for managing model dependencies in inter-organizational cooperations
Service Oriented Computing and Applications
Automatically identifying changes that impact code-to-design traceability during evolution
Software Quality Control
Assessing architectural drift in commercial software development: a case study
Software—Practice & Experience
1.x-Way architecture-implementation mapping
Proceedings of the 33rd International Conference on Software Engineering
ACART: an API Compliance and Analysis Report Tool for discovering reference design traceability
Proceedings of the 49th Annual Southeast Regional Conference
A declarative approach for software modeling
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Reverse Engineering of Use Case Realizations in UML
ACM SIGSOFT Software Engineering Notes
Proceedings of the 34th International Conference on Software Engineering
Recovering test-to-code traceability using slicing and textual analysis
Journal of Systems and Software
A classification and rationalization of model-based software development
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
As a complex software system evolves, its implementation tends to diverge from the intended or documented design models. Such undesirable deviation makes the system hard to understand, modify and maintain. This paper presents a hybrid computer-assisted approach for confirming that the implementation of a system maintains its expected design models and rules. Our approach closely integrates logic-based static analysis and dynamic visualization, providing multiple code views and perspectives. We show that the hybrid technique helps determine design-implementation congruence at various levels of abstraction: concrete rules like coding guidelines, architectural models like design patterns or connectors, and subjective design principles like low coupling and high cohesion. The utility of our approach has been demonstrated in the development of /spl mu/Choices, a new multimedia operating system which inherits many design decisions and guidelines learned from experience in the construction and maintenance of its predecessor, Choices.