Communications of the ACM
the superarticulacy phenomenon in the context of software manufacture
The foundation of artificial intelligence---a sourcebook
Methodologies from machine learning in data analysis and software
The Computer Journal - Special issue on distributed systems
Engineering multiversion neural-net systems
Neural Computation
Automated Software Engineering
Automated Software Engineering
Empirical Studies Applied to Software Process Models
Empirical Software Engineering
Software as Learning: Quality Factors and Life-Cycle Revised
FASE '00 Proceedings of the Third Internationsl Conference on Fundamental Approaches to Software Engineering: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
Machine Learning and Its Applications, Advanced Lectures
Hi-index | 4.10 |
The science of creating software is based on deductive methods. But induction, deduction's ignored sibling, could have a profound effect on the future development of computer science theory and practice. Computer scientists and software developers in the late 1960s started a formal science to guide software production. The underlying framework of this science has always been based on deduction (reasoning from the general to the specific) rather than induction (reasoning from the specific to the general). Today inductive programming is found only in "machine learning," a subset of artificial intelligence. Computer scientists may use inductive techniques to explore a philosophy of cognition, develop a theory of adaptive behavior, or find a way around a particularly awkward problem, but they do not use it to create programs. Nearly all basic computing science textbooks fail to include inductive programming. However, inductive reasoning can solve problems outside the realm of machine learning, too. Formal methods to underpin inductive techniques are emerging, but they have yet to be viewed, accepted, and developed as a fundamental alternative to deductive computer science.