A theory of diagnosis from first principles
Artificial Intelligence
Advanced C++ programming styles and idioms
Advanced C++ programming styles and idioms
The art of Prolog (2nd ed.): advanced programming techniques
The art of Prolog (2nd ed.): advanced programming techniques
Simply logical: intelligent reasoning by example
Simply logical: intelligent reasoning by example
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Smalltalk: best practice patterns
Smalltalk: best practice patterns
Four dark corners of requirements engineering
ACM Transactions on Software Engineering and Methodology (TOSEM)
Applications of abduction: knowledge-level modelling
International Journal of Human-Computer Studies
Law-governed regularities in object systems: part I: an abstract model
Theory and Practice of Object Systems
ICSE '91 Proceedings of the 13th international conference on Software engineering
ICSE '94 Proceedings of the 16th international conference on Software engineering
Managing inconsistent specifications: reasoning, analysis, and action
ACM Transactions on Software Engineering and Methodology (TOSEM)
Requirements engineering: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Design erosion: problems and causes
Journal of Systems and Software
Quasi-classical Logic: Non-trivializable classical reasoning from incosistent information
ECSQARU '95 Proceedings of the European Conference on Symbolic and Quantitative Approaches to Reasoning and Uncertainty
Declarative Reasoning about the Structure of Object-Oriented Systems
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Knowledge Base Approach to Consistency Management of UML Specifications
Proceedings of the 16th IEEE international conference on Automated software engineering
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
IntensiVE, a toolsuite for documenting and checking structural source-code regularities
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Delocalized Plans and Program Comprehension
IEEE Software
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
Hi-index | 0.00 |
In order to alleviate design decay, different program design documentation techniques are used for the specification and detection of design inconsistencies in code. However, these design documentation techniques do not always provide support for the diagnosis and (semi-) automatic correction of such inconsistencies. In case they do, corrective solutions are typically targeted to a reduced set of pre-defined inconsistency problems, and they are not easily customizable to new kinds of consistency checks defined by a user. In particular, they cannot infer possible corrective actions to solve new user-defined inconsistency problems. In this paper, we present a technique for the diagnosis and (semi-) automatic correction of inconsistencies in the context of an existing tool for inconsistency management: IntensiVE. Our technique uses logic abductive reasoning to infer solutions to detected user-defined inconsistencies, starting from basic composable corrective actions. A first prototype implementing our technique on top of IntensiVE is shown.