Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
PROUST: Knowledge-Based Program Understanding
IEEE Transactions on Software Engineering
Top-down synthesis of divide-and-conquer algorithms
Artificial Intelligence
A 15 Year Perspective on Automatic Programming
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Automating the Transformational Development of Software
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Research on Knowledge-Based Software Environments at Kestrel Institute
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
The Programmer's Apprentice: A Session with KBEmacs
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Domain-Specific Automatic Programming
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Understanding and Automating Algorithm Design
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
The Roles of Execution and Analysis in Algorthm Design
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Abstraction and specification in program development
Abstraction and specification in program development
Beyond the chalkboard: computer support for collaboration and problem solving in meetings
Communications of the ACM
Whether software engineering needs to be artificially intelligent
IEEE Transactions on Software Engineering
Impulse-86: a substrate for object-oriented interface design
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Readings in artificial intelligence and software engineering
Readings in artificial intelligence and software engineering
An experiment in knowledge-based automatic programming
Readings in artificial intelligence and software engineering
On the efficient synthesis of efficient programs
Readings in artificial intelligence and software engineering
Automatic programming through natural language dialogue: a survey
Readings in artificial intelligence and software engineering
Informality in program specifications
Readings in artificial intelligence and software engineering
Report on a knowledge-based software assistant
Readings in artificial intelligence and software engineering
On program synthesis knowledge
Readings in artificial intelligence and software engineering
Knowledge representations as the basis for requirements specifications
Readings in artificial intelligence and software engineering
Experiments with a Heuristic Compiler
Journal of the ACM (JACM)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Program Transformation Systems
ACM Computing Surveys (CSUR)
Programming by Refinement, as Exemplified by the SETL Representation Sublanguage
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Deductive Approach to Program Synthesis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program developments: formal explanations of implementations
Communications of the ACM
On the inevitable intertwining of specification and implementation
Communications of the ACM
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Software Engineering Economics
Software Engineering Economics
Automatic Program Construction Techniques
Automatic Program Construction Techniques
Interactive Programming Environments
Interactive Programming Environments
Algorithmic Language and Program Development
Algorithmic Language and Program Development
A system for program refinement
ICSE '79 Proceedings of the 4th international conference on Software engineering
An automatic programming system to support an experimental science
ICSE '82 Proceedings of the 6th international conference on Software engineering
Breaking the complexity barrier again
SIGPLAN '73 Proceedings of the 1973 meeting on Programming languages and information retrieval
ACM '87 Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow
Validating the TAME resource data model
ICSE '88 Proceedings of the 10th international conference on Software engineering
ICSE '88 Proceedings of the 10th international conference on Software engineering
Enhancing program readability and comprehensibility with tools for program visualization
ICSE '88 Proceedings of the 10th international conference on Software engineering
A decision-based configuration process model
ICSE '90 Proceedings of the 12th international conference on Software engineering
DAIDA: an environment for evolving information systems
ACM Transactions on Information Systems (TOIS)
An integrated Prolog programming environment
ACM SIGPLAN Notices
An integrated Prolog programming environment
ACM SIGPLAN Notices
How does radical collocation help a team succeed?
CSCW '00 Proceedings of the 2000 ACM conference on Computer supported cooperative work
Representing Software Engineering Knowledge
Automated Software Engineering
Strategies for Integrating CASE Environments
IEEE Software
Rapid software development through team collocation
IEEE Transactions on Software Engineering
Database Application Development as an Object Modeling Activity
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Using design fragments to modularize the design of communications in concurrent systems
IWSSD '93 Proceedings of the 7th international workshop on Software specification and design
Inferring operational requirements from scenarios and goal models using inductive learning
Proceedings of the 2006 international workshop on Scenarios and state machines: models, algorithms, and tools
CIRCUS '09 Proceedings of the 2009 Collaboration and Intercultural Issues on Requirements: Communication, Understanding and Softskills
Hi-index | 0.00 |
Software Engineering is a knowledge-intensive activity, requiring extensive knowledge of the application domain and of the target software itself. Many Software Engineering costs can be attributed to the ineffectiveness of current techniques for managing this knowledge, and Artificial Intelligence techniques can help alleviate this situation. More than two decades of research have led to many significant theoretical results, but few demonstrations of practical utility. This is due in part to the amount and diversity of knowledge required by Software Engineering activities, and in part to the fact that much of the research has been narrowly focused, missing many issues that are of great practical importance. Important issues that remain to be addressed include the representation and use of domain knowledge and the representation of the design and implementation history of a software system. If solutions to these issues are found, and experiments in practical situations are successful, the implications for the practice of Software Engineering will be profound, and radically different software development paradigms will become possible.