PROUST: Knowledge-Based Program Understanding
IEEE Transactions on Software Engineering
The Programmer's Apprentice: A Session with KBEmacs
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
A more expressive formulation of many sorted logic
Journal of Automated Reasoning
The programmer's apprentice
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
The Requirements Apprentice: Automated Assistance for Requirements Acquisition
IEEE Transactions on Software Engineering
LaSSIE: a knowledge-based software information system
Communications of the ACM - Special issue on software engineering
A general framework for sorted deduction: fundamental results on hybrid reasoning
Proceedings of the first international conference on Principles of knowledge representation and reasoning
Taxonomic syntax for first order inference
Proceedings of the first international conference on Principles of knowledge representation and reasoning
Pattern-directed invocation with changing equations
Journal of Automated Reasoning
ACM SIGART Bulletin - Special issue on implemented knowledge representation and reasoning systems
Toward a design apprentice: supporting reuse and evolution in software design
ACM SIGSOFT Software Engineering Notes
Fast Decision Procedures Based on Congruence Closure
Journal of the ACM (JACM)
Simplification by Cooperating Decision Procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Deductive Approach to Program Synthesis
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Definition of Standard ML
Dependency-Directed Localization of Software Bugs
Dependency-Directed Localization of Software Bugs
Supporting Reuse and Evolution in Software Design
Supporting Reuse and Evolution in Software Design
Simulating reactive systems by deduction
ACM Transactions on Software Engineering and Methodology (TOSEM)
The impact of machine learning on expert systems
CSC '93 Proceedings of the 1993 ACM conference on Computer science
Integrating Multiple Paradigms within the Blackboard Framework
IEEE Transactions on Software Engineering
A process for consolidating and reusing design knowledge
ICSE '93 Proceedings of the 15th international conference on Software Engineering
FMSP '00 Proceedings of the third workshop on Formal methods in software practice
Skeleton-based agent development for electronic institutions
Proceedings of the first international joint conference on Autonomous agents and multiagent systems: part 2
Knowledge-Based Automation of a Design Method for Concurrent Systems
IEEE Transactions on Software Engineering
Explanation-Based Scenario Generation for Reactive System Models
Automated Software Engineering
Automated Software Engineering
Synthesis of Mathematical-Modeling Software
IEEE Software
Knowledge Intensive Software Engineering Tools
IEEE Transactions on Knowledge and Data Engineering
Knowledge-Based Software Architectures: Acquisition, Specification, and Verification
IEEE Transactions on Knowledge and Data Engineering
Towards automation of checklist-based code-reviews
ISSRE '96 Proceedings of the The Seventh International Symposium on Software Reliability Engineering
Empirical Performance Analysis of Computer-Supported Code-Reviews
ISSRE '97 Proceedings of the Eighth International Symposium on Software Reliability Engineering
Specification Modeling and Validation Applied to a Family of Network Security Products
Proceedings of the 16th IEEE international conference on Automated software engineering
Rapid Prototyping of Large Multi-Agent Systems Through Logic Programming
Annals of Mathematics and Artificial Intelligence
Means of question-answer interaction for collaborative development activity
Advances in Human-Computer Interaction
AAAI'06 proceedings of the 21st national conference on Artificial intelligence - Volume 2
Automated cinematic reasoning about camera behavior
Expert Systems with Applications: An International Journal
Hi-index | 0.00 |
The authors' experience in the Programmer's Apprentice project in applying knowledge representation and automated reasoning to support software development is summarized. A system, called Cake, is described that comprises seven layers of knowledge representation and reasoning facilities: truth maintenance, Boolean constraint propagation, equality, types, algebra, frames, and Plan Calculus. Sessions with two experimental software development tools implemented using Cake, the Requirements Apprentice and the Debugging Assistant, are also included.