Computer-aided software engineering: the methodologies, the products, the future
Computer-aided software engineering: the methodologies, the products, the future
The programmer's apprentice
Automated program recognition: a feasibility demonstration
Artificial Intelligence
The Requirements Apprentice: Automated Assistance for Requirements Acquisition
IEEE Transactions on Software Engineering
Toward a design apprentice: supporting reuse and evolution in software design
ACM SIGSOFT Software Engineering Notes
Seven Layers of Knowledge Representation and Reasoning in Support of Software Development
IEEE Transactions on Software Engineering - Special issue on knowledge representation and reasoning in software development
Communications of the ACM
Computer-Aided Software Engineering (Case)
Computer-Aided Software Engineering (Case)
Recognizing a Program's Design: A Graph-Parsing Approach
IEEE Software
Knowledge-Based Software Architectures: Acquisition, Specification, and Verification
IEEE Transactions on Knowledge and Data Engineering
Requirements Elicitation Driven by Interviews: The Use of Viewpoints
IWSSD '96 Proceedings of the 8th International Workshop on Software Specification and Design
Hi-index | 0.00 |
Most software engineering tools use a shallow representation of software objects and manipulate this representation using procedural methods. This approach allows one to get off to a fast start and quickly provides a tool that delivers benefits. However, a point will be reached where more knowledge-intensive approaches will be needed to achieve significantly higher levels of capability. The authors suggest that the software engineering tools of the future will have to rely on: deep representation to capture a sufficiently large part of knowledge about programming in general and particular programs; inspection methods to deal with complexity; and intelligent assistance.