Aspect: detecting bugs with abstract dependences
ACM Transactions on Software Engineering and Methodology (TOSEM)
MFC internals: inside the Microsoft foundation class architecture
MFC internals: inside the Microsoft foundation class architecture
Law-governed regularities in object systems: part I: an abstract model
Theory and Practice of Object Systems
Hooking into object-oriented application frameworks
ICSE '97 Proceedings of the 19th international conference on Software engineering
Optimal control dependence computation and the Roman chariots problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
A design/constraint model to capture design intent
SMA '97 Proceedings of the fourth ACM symposium on Solid modeling and applications
Software for use: a practical guide to the models and methods of usage-centered design
Software for use: a practical guide to the models and methods of usage-centered design
GENOA—a customizable, front-end-retargetable source code analysis framework
ACM Transactions on Software Engineering and Methodology (TOSEM)
Interface Compilation: Steps Toward Compiling Program Interfaces as Languages
IEEE Transactions on Software Engineering
CoffeeStrainer: statically-checked constraints on the definition and use of types in Java
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Effective Java programming language guide
Effective Java programming language guide
Automatic Analysis of Consistency between Requirements and Designs
IEEE Transactions on Software Engineering
Alloy: a lightweight object modelling notation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Flow-sensitive type qualifiers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
A system and language for building system-specific, static analyses
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Essential use cases and responsibility in object-oriented development
ACSC '02 Proceedings of the twenty-fifth Australasian conference on Computer science - Volume 4
Structural Redocumentation: A Case Study
IEEE Software
State-Based Model Checking of Event-Driven System Requirements
IEEE Transactions on Software Engineering
A Query Algebra for Program Databases
IEEE Transactions on Software Engineering
UML-F: A Modeling Language for Object-Oriented Frameworks
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Structural Manipulations of Software Architecture Using Tarski Relational Algebra
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
E/R Schema for the Datrix C/C++/Java Exchange Format
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
ARCHER: using symbolic, path-sensitive analysis to detect memory access errors
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
SABER: smart analysis based error reduction
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Specifying the Law of Demeter and C++ Programming Guidelines with FCL
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Specifying framework constraints with FCL
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
Scalable error detection using boolean satisfiability
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Fcl: automatically detecting structural errors in framework-based development
Fcl: automatically detecting structural errors in framework-based development
Efficient Identification of Design Patterns with Bit-vector Algorithm
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Source-Level Linkage: Adding Semantic Information to C++ Fact-bases
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Checking system rules using system-specific, programmer-written compiler extensions
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
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
SCL: Static Enforcement and Exploration of Developer Intent in Source Code
ICSE COMPANION '07 Companion to the proceedings of the 29th International Conference on Software Engineering
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Informing Eclipse API production and consumption
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
An empirical study of the design and implementation of object equality in Java
CASCON '08 Proceedings of the 2008 conference of the center for advanced studies on collaborative research: meeting of minds
Checking semantic usage of frameworks
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
A dependency constraint language to manage object-oriented software architectures
Software—Practice & Experience
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Enforcing Structural Regularities in Source Code using IntensiVE
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
JavaCOP: Declarative pluggable types for java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Enforcing structural regularities in software using IntensiVE
Science of Computer Programming
Analyzing security architectures
Proceedings of the IEEE/ACM international conference on Automated software engineering
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Framework-Specific modeling languages with round-trip engineering
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Pol: specification-driven synthesis of architectural code frameworks for platform-based applications
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Modular specification and checking of structural dependencies
Proceedings of the 12th annual international conference on Aspect-oriented software development
ACM Transactions on Software Engineering and Methodology (TOSEM) - In memoriam, fault detection and localization, formal methods, modeling and design
Hi-index | 0.00 |
Software developers often fail to respect the intentions of designers due to missing or ignored documentation of design intent. SCL (Structural Constraint Language) addresses this problem by enabling designers to formalize and confirm compliance with design intent. The designer expresses his intent as constraints on the program model using the SCL language. The SCL conformance checking tool examines developer code to confirm that the code honors these constraints. This paper presents the design of the SCL language and its checker, a set of practical examples of applying SCL, and our experience with using it both in an industrial setting and on open-source software.