Undoubtedly the 2010s were the most successful decade for A.I. with neural networks making their way into mainstream usage. So far, A.I. had a history of ups and downs — most prominent the “A.I. Winters” (see here) starting mid-70s when funding and research in the field nearly totally collapsed to about the start of the 2010s with the dawn of machine learning.
During the 1950s to the 1970s, Symbolic A.I. dominated the field (which is why it is called GOFAI — Good Old Fashioned AI). “To a symbolic A.I. researcher, intelligence is based on humans’ ability to understand the world around them by forming internal symbolic representations. They then create rules for dealing with these concepts, and these rules can be formalized in a way that captures everyday knowledge.” (see here). The concept delivered some breakthrough results (e.g., expert systems) and promised more. But then fall short of delivering the promises and was nearly abandoned.
Today, when we think of A.I., we mostly see machine learning algorithms such as deep learning neural networks (see here) which shaped the field in the past decade. But Symbolic A.I. is neither dead nor old fashioned; recent developments suggest the opposite. David Cox, director of IBM’s Watson A.I. Lab at the MIT in Cambridge, USA, suggests: A.I. needs another overhaul and Symbolic A.I. seems a vital element of this. According to Cox and other experts in the field, we need to look for a combination of Symbolic A.I. and machine learning algorithms to enable the next step in A.I. (see here).
At DeepCode, we are analyzing code to find defects. Simply running a neural network to tell you the code is wrong, is first very imprecise and second, not useful. In the end, a responsible human must understand what is fixed and why. It is exactly the kind of problem that is very tempting to solve with machine learning but really needs a good symbolic AI.
What if we can take the best of both worlds? Have a system that can do logical conclusions, can explain these conclusions, is more than a number of fixed rules and can understand constructs beyond what was given by lint tool authors. This is making a good use of both fields of A.I. — machine learning and symbolic A.I. Have a look what we achieved so far on deepcode.ai . And we just started. The problem of Static Code Analysis is important and the market is forecasted to grow double-digit in the upcoming five years. Expect 2020 to be a great year!