1月6日上午,澳大利亚纽卡斯尔大学张洪宇教授应邀线上主讲以“Code Intelligence:Challenges and Progress(代码智能:挑战与进展)”为题的学术讲座,为计算机学院120多位师生讲解了代码智能领域所取得的研究进展和所面临的诸多挑战,线上直播观看1500余人次。
张洪宇教授首先介绍了代码智能的定义和研究背景,以GitHub Copilot和AlphaCode为引介绍了其研究团队自2016年起在代码智能领域的研究成果。重点介绍了代码搜索(code search)的运行原理及应用,即利用深度学习技术,根据自然语言查询(query)来检索代码片段,从而提高软件开发的效率。
随后,张老师围绕代码智能中的“source code representation(源代码表示)”挑战,介绍了基于代码抽象语法树(AST)的代码表示中的诸多挑战,并介绍了两种通过AST分割的代码表示学习方法。同时,他也指出尽管当前研究从不同代码模态(包括AST,CFG,DFG等)进行了学习,但是哪种代码模态更加有效仍然是一个开放性问题。
其次,张老师以最近OpenAI发布的能写代码的chatGPT为切入点,给出了数个具体的实例分析,展现出基于预训练语言模型的chatGPT在代码表示学习、代码生成方面的惊艳效果,并提出了许多值得探索的开放性问题。基于此,他引出了当前基于预训练语言模型的代码大模型中所存在的“资源消耗大”的挑战,并给出了三种不同的优化方法,即压缩模型、模型模块化和输入压缩。
最后,张老师阐述了代码智能领域面临的更多挑战,包括代码智能模型的质量、可解释性、在低资源场景下的应用、代码知识产权等等。同时,他鼓励感兴趣的同学们围绕以上诸多挑战,开展深入学习研究,致力解决代码智能领域关键技术挑战。
在交流互动环节,与会师生围绕代码智能的大规模模型训练方式、技术发展前景等话题与张洪宇教授展开了热烈的线上讨论。张洪宇教授对代码智能领域的发展抱以充分的信心,鼓励与会师生在此领域开展研究,继续深造。
张洪宇,现任澳大利亚纽卡斯尔大学副教授,曾担任微软亚洲研究院的首席研究员、清华大学副教授,被公认为世界上最高产的20名软件工程研究人员之一(2010-2020),在国际知名期刊和会议上发表研究论文180余篇,获得过超过8项ACM杰出论文奖和最佳论文奖。主要从事于智能软件工程、软件分析、维护和重用等领域的研究,研究主题是通过挖掘软件数据来提高软件质量和生产效率,在代码智能领域做出了引领性工作。