返回首页

CCF广东工业大学学生分会举办“Summarizing Code Parameter based on Transformer”学术讲座

阅法量:82 收藏本文

CCF广东工业大学学生分会于2023621日(星期四)上午10:00成功举办了主题为“Summarizing Code Parameter based on Transformer”的学术讲座。这场精彩讲座的报告人是广东工业大学计算机院的张凡龙老师张凡龙老师主要研究领域为智能软件工程,研究方向为程序表示学习、代码可视化、软件知识化等。博士就读于哈尔滨工业大学计算机科学与技术学院智能软件技术研究中心。攻读博士期间,前往新加坡国立大学编程语言与软件工程实验室联合培养一年;参加工作后,由国家留学基金委资助继续前往新加坡国立大学编程语言与软件工程实验室从事博士后研究两年。研究成果以学术论文的形式发表在国内外高水平学术期刊和会议上。截至到目前为止,已发表(含审)学术论文26篇,其中SCI论文12篇,EI论文8篇,国内一级学报论文2篇,国际会议论文6


1张凡龙老师

在本次讲座中,张老师针对软件编程中方法设计上缺少关于参数的提示自动生成开展研究并解释了为什么方法参数对于理解整个方法的功能和使用方式是至关重要的接着张老师针对这个问题提出了parameter summarization”的参数汇总方法用于把程序代码方法中的参数进行提取然后介绍paramTrans的方法以及从AST(分析抽象语法树)中提取参数相关信息的算法paramSlice,用于生成方法参数的提示。


接着,张老师解释parameter summarization”方法,其内容是针对给定方法的参数(p1p2...pn)以及方法摘要Sm生成每个参数摘要(Sp1Sp2...Spn)的过程。在进行参数摘要时,需要综合考虑方法的功能、参数的含义和用途,以及方法摘要中提供的相关信息。通过分析方法的语法结构和上下文,可以提取参数的关键特征和上下文信息,从而生成与每个参数相关的摘要


在具体实施方面张老师提出的方法首先通过参数切片从代码中提取与参数相关的信息然后利用基于Transformer的模型生成每个参数的摘要最后将方法摘要与参数摘要融合,提供更全面和准确的代码理解。

其中,参数切片使用javalangJava方法解析为AST,提取参数级别的子树并将它们合并为每个参数的参数级别AST,最后将AST转换为SBT(基于结构的遍历抽象语法树)。这个过程可以帮助我们在参数级别上进行更深入的代码分析和参数摘要生成。基于Transformer的模型的Multi-head attentionCopy attentionSplit Decoder生成每个参数的摘要结合串行策略(Serial Strategy)、并行策略(Parallel Strategy)和扁平策略(Flat Strategy)完成方法摘要与参数摘要融合以提高参数摘要的质量和准确性。


通过实验评估证明了他们的方法在生成参数摘要方面的有效性。实验表明,使用复制注意力(Copy Attention)的模型在大约100epochs后达到稳定性,并在大约200epochs时达到最高点。这些结果进一步验证了该方法的性能和收敛速度。

综上所述,这项研究为自动生成方法参数摘要信息提供了一种新的方法和工具,并通过实验证明了其有效性。这对于提高软件工程师对代码中方法参数的理解和使用具有重要意义,并为进一步的研究和应用提供了有价值的参考

至此,讲座圆满结束,感谢张凡龙老师分享的精彩学术讲座!