Md. Sarwar KamalSonia Farhana NimmyNilanjan Dey
Code summarization is a process of creating a readable natural language from programming source codes. Code summarization has become a popular research topic for software maintenance, code generation, and code recovery. Existing code summarization methods follow the encoding/decoding approach and use various machine learning techniques to generate natural language from source codes. Although most of these methods are state of the art, it is difficult to understand the complex encoding and decoding process to map the tokens with natural language words. Therefore, these coding and decoding approaches are treated as opaque models (black box). This research proposes explainable AI methods that overcome the black box features for the token mapping in code summarization process. Here, we created an abstract syntax tree (AST) from the tokens of the source code. We then embedded the AST into natural language words using a bilingual statistical probability approach to generate possible statistical parse trees. We applied a page rank algorithm among the parse trees to rank the trees. From the best-ranked tree, we generate the comment for the corresponding code snippet. To explain our code generation method, we used Takagi–Sugeno fuzzy approach, layerwise relevance propagation and a hidden Markov model. These approaches make our method trustworthy and understandable to humans to understand the process of source code token mapping with natural language words.
D SteidlB HummelE JuergensS YauJ CollofelloS Wood FifieldH DunsmoreV ShenT TennyX XiaL BaoD LoZ XingA HassanS LiX HuG LiX XiaD LoZ JinS HaiducJ AponteA Marcus
Debanjan MondalAbhilasha LodhaAnkita SahooB. Venkata Seshu Kumari
Annie T. T. YingMartin P. Robillard
Yuhao DengYu WangLei CaoLianpeng QiaoYuping WangJingzhe XuYizhou YanSamuel Madden