  Artificial intelligence (AI) and software engineering (SE) are two important
areas in computer science. In recent years, researchers are trying to apply AI
techniques in various stages of software development to improve the overall
quality of software products. Moreover, there are also some researchers focus
on the intersection between SE and AI. In fact, the relationship between SE and
AI is very weak; however, methods and techniques in one area have been adopted
in another area. More and more software products are capable of performing
intelligent behaviour like human beings. In this paper, two cases studies which
are IBM Watson and Google AlphaGo that use different AI techniques in solving
real world challenging problems have been analysed, evaluated and compared.
Based on the analysis of both case studies, using AI techniques such as deep
learning and machine learning in software systems contributes to intelligent
systems. Watson adopts 'decision making support' strategy to help human make
decisions; whereas AlphaGo uses 'self-decision making' to choose operations
that contribute to the best outcome. In addition, Watson learns from man-made
resources such as paper; AlphaGo, on the other hand, learns from massive online
resources such as photos. AlphaGo uses neural networks and reinforcement
learning to mimic human brain, which might be very useful in medical research
for diagnosis and treatment. However, there is still a long way to go if we
want to reproduce human brain in machine and view computers as thinkers,
because human brain and machines are intrinsically different. It would be more
promising to see whether computers and software systems will become more and
more intelligent to help with real world challenging problems that human beings
cannot do.
