Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems
Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Software Inspection
Knowledge-Based Program Analysis
IEEE Software
A Framework for Source Code Search Using Program Patterns
IEEE Transactions on Software Engineering
A Cliche'-Based Environment to Support Architectural Reverse Engineering
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Program Understanding and Maintenance with the CANTO Environment
ICSM '97 Proceedings of the International Conference on Software Maintenance
XGL: a graphical query language for XML
IDEAS '02 Proceedings of the 2002 International Symposium on Database Engineering & Applications
Static Analysis and Software Assurance
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Software Criticality Analysis of COTS/SOUP
SAFECOMP '02 Proceedings of the 21st International Conference on Computer Safety, Reliability and Security
Tool Support for Fine-Grained Software Inspection
IEEE Software
Design and code inspections to reduce errors in program development
IBM Systems Journal
Hi-index | 0.00 |
This paper presents a knowledge-centric and language independent framework and its application to develop safety analysis tools for avionics systems. A knowledge-centric approach is important to address domain-specific needs, with respect to the types of problems the tools detect and the strategies used to analyze and adapt the code. The knowledge is captured by formally specified patterns used to detect a variety of problems, ranging from simple syntactic issues to difficult semantic problems requiring global analysis. Patterns can also be used to describe transformations of the software, used to rectify problems detected through software inspection, and to support interactive inspection and adaptation when full automation is impractical. This paper describes the Knowledge Centric Software (KCS) framework. It focuses on two key aspects: an eXtensible Common Intermediate Language (XCIL) for language independent analysis, and an eXtensible Pattern Specification Language (XPSL) for representing domain-specific knowledge.