Parsing and compiling using Prolog
ACM Transactions on Programming Languages and Systems (TOPLAS)
Advanced C++ programming styles and idioms
Advanced C++ programming styles and idioms
Software Engineering Journal - Special issue on software process and its support
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
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
Smalltalk: best practice patterns
Smalltalk: best practice patterns
Smalltalk-80: The Language
P3: a code and design conventions preprocessor for Java
Software—Practice & Experience
Automatic Detection of Design Problems in Object-Oriented Reengineering
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Polymetric Views-A Lightweight Visual Approach to Reverse Engineering
IEEE Transactions on Software Engineering
XIRC: A Kernel for Cross-Artifact Information Engineering in Software Development Environments
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
ACM SIGPLAN Notices
IntensiVE, a toolsuite for documenting and checking structural source-code regularities
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Mondrian: an agile information visualization framework
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Automatic Generation of Detection Algorithms for Design Defects
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Using SCL to Specify and Check Design Intent in Source Code
IEEE Transactions on Software Engineering
Open Unification for Program Query Languages
SCCC '07 Proceedings of the XXVI International Conference of the Chilean Society of Computer Science
Practical pluggable types for java
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Practical, pluggable types for a dynamic language
Computer Languages, Systems and Structures
Cognac: A Framework for Documenting and Verifying the Design of Cobol Systems
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Co-evolving code and design with intensional views
Computer Languages, Systems and Structures
CodeQuest: scalable source code queries with datalog
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Managing the evolution of aspect-oriented software with model-based pointcuts
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Unanticipated integration of development tools using the classification model
Computer Languages, Systems and Structures
Diagnosing and correcting design inconsistencies in source code with logical abduction
Science of Computer Programming
System-specific static code analyses: a case study in the complex embedded systems domain
Software Quality Control
DiaSuite: A tool suite to develop Sense/Compute/Control applications
Science of Computer Programming
Hi-index | 0.00 |
The design and implementation of a software system is often governed by a variety of coding conventions, design patterns, architectural guidelines, design rules, and other so-called structural regularities. To prevent a deterioration of the system's source code, it is important that these regularities are verified and enforced upon evolution of the system. The Intensional Views Environment (IntensiVE), presented in this article, is a tool suite for specifying relevant structural regularities in an (object-oriented) software system and verifying them against the current and later versions of the system. At the heart of the IntensiVE tool suite are (logic) program queries and the model of intensional views and relations, through which regularities are expressed. Upon verification of these regularities in the source code of the system, IntensiVE reports the code entities (i.e. classes, methods, variables, statements, etc.) that violate these constraints. We present IntensiVE and illustrate its application to the verification of an Abstract Factory design pattern in the implementation of a software system.