Artificial intelligence (AI) or machine learning is the hot topics in software development right now. But while AI has been applied to numerous domains, it strangely hasn’t seen much application to software development itself. But a few applications do exist. This first blog post in the series discusses the features of one such application, Acellere Gamma, and where and how AI is used.
Gamma is developed by Acellere, a start-up based in Frankfurt, Germany, and Pune, India. It is a self-styled “AI powered software analytics platform.” But what does that mean? Let’s unpack the term: As a software analytics platform, Gamma takes your source code, analyzes it, and finds issues therein. As it is AI powered, Gamma can then recommend appropriate fixes to the issues it has found.
What Does It Do?
Acellere Gamma as an analytics platform has a clear focus on design issues, since “the basic premise [of Gamma] is: Bad design leads to bugs.” (Vishal Rai, CEO of Acellere)
A good overview of many, but not all of Gamma’s features is this short quickstart video:
At the moment, Gamma supports 10 different programming languages (Java, C++, etc.) and its analyses are, as its developers claim, among the fastest available on the market. This allows Gamma to frequently scan your codebase for issues.
In addition to design issues like God Classes or Feature Envy, Gamma also computes classic metrics like Lines Of Code (LOC) or Coupling Between Objects (CBO), and it looks for instances of code duplication.
Once such issues have been identified, they are presented in a very slick Web-based dashboard. Here, you can quickly navigate from high-level subsystems to low-level implementations. At the higher levels, various metrics can be rendered as tree maps, code cities, or histograms. At the lower levels, Gamma will propose fixes to the design issues it has found.
Where’s the AI?
While little information is available about the inner workings of Gamma, it employs a recommender system to propose fixes to the issues Gamma found. Moreover, Gamma is supposedly able to fix issues automatically and learn from the way issues have been fixed in the past.
Where Can I Try it?
As of this writing, Gamma is not publicly available yet; both cloud-based and on-premise solutions are slated for Q3 2017.
About the author: Dr. Marcel Bruch is the founder of Codetrails and holds a PhD from Darmstadt University of Technology. He leads the Eclipse Code Recommenders project, which brought AI-powered developer assistance tools to over 4 million users.