ISSTA 2019
Mon 15 - Fri 19 July 2019 Beijing, China
Wed 17 Jul 2019 16:00 - 16:10 at Grand Ballroom - ISSTA Tool Demonstrations

Golang (short for Go programming language) is a fast and compiled language, which has been increasingly used in industry due to its excellent performance on concurrent programming. Golang redefines concurrent programming grammar, making it a challenge for traditional clone detection tools and techniques. However, there exist few tools for detecting duplicates or copy-paste related bugs in Golang. Therefore, an effective and efficient code clone detector on Golang is especially needed. In this paper, we present Go-Clone, a learning-based clone detector for Golang. Go-Clone contains two modules – the training module and the user interaction module. In the training module, firstly we parse Golang source code into llvm IR (Intermediate Representation). Secondly, we calculate LSFG (labeled semantic flow graph) for each program function automatically. Go-Clone trains a deep neural network model to encode LSFGs for similarity classification. In the user interaction module, users can choose one or more Golang projects. Go-Clone identifies and presents a list of function pairs, which are most likely clone code for user inspection. To evaluate Go-Clone’s performance, we collect 6,110 commit versions from 48 Github projects to construct a Golang clone detection data set. Go-Clone can reach the value of AUC (Area Under Curve) and ACC (Accuracy) for 89.61% and 83.80% in clone detection. By testing several groups of unfamiliar data, we also demonstrates the generility of Go-Clone. The address of the abstract demo video:

Wed 17 Jul

16:00 - 17:30: Tool Demonstration - ISSTA Tool Demonstrations at Grand Ballroom
issta-2019-Tool-demonstrations16:00 - 16:10
Cong WangTsinghua University, Jian GaoSchool of Software, Tsinghua University, Yu Jiang, Zhenchang XingAustralia National University, Huafeng Zhang, Weiliang Ying , Ming GuTsinghua University, Jiaguang Sun
issta-2019-Tool-demonstrations16:10 - 16:20
issta-2019-Tool-demonstrations16:20 - 16:30
Li ChiTsinghua University, Min ZhouTsinghua University, Zuxing GuSchool of Software, Tsinghua University, Guang Chen, Yuexing Wang, Jiecheng WuTsinghua University, Ming GuTsinghua University
issta-2019-Tool-demonstrations16:30 - 16:40
issta-2019-Tool-demonstrations16:40 - 16:50
issta-2019-Tool-demonstrations16:50 - 17:00
Linjie PanInstitute of Software, Chinese Academy of Sciences, Baoquan Cui, Jiwei YanInstitute of Software, Chinese Academy of Sciences, Xutong Ma, Jun YanInstitute of Software, Chinese Academy of Sciences, Jian ZhangBeihang University
issta-2019-Tool-demonstrations17:00 - 17:10
Rohan PadhyeUniversity of California, Berkeley, Caroline LemieuxUniversity of California, Berkeley, Koushik SenUniversity of California, Berkeley
issta-2019-Tool-demonstrations17:10 - 17:20
Renaud Rwemalika, Marinos Kintis, Mike PapadakisUniversity of Luxembourg, Yves Le TraonUniversity of Luxembourg, Pierre Lorrach
issta-2019-Tool-demonstrations17:20 - 17:30
Yuying LiState Key Laboratory for Novel Software Technology, Nanjing University, Rui HaoNanjing University, China, Yang FengUniversity of California, Irvine, James JonesUniversity of California, Irvine, Xiaofang Zhang, Zhenyu ChenNanjing University