2018.8.28,汇集软件行业先进技术的讨论峰会——“紫禁之巅/2018年北研软件工程大会”在华为北京研究所召开。
本次大会邀请多名企业领军代表、资深高校老师和业界专家,论坛围绕软件行业与AI智能化发展的未来趋势,一起探讨业界软件研发的最佳实践和方法,涵盖了软件架构、敏捷和DevOps、智能化开发、代码质量和软件安全、用户体验和产品运营等多个热点话题。
北京大学信息科学技术学院副教授、智能编程机器人产品aiXcoder创始人李戈在会议中做了关于《智能化辅助开发技术》的主题演讲及具体案例分享,就机器人编程“程序代码自动生成与补全”的成绩、难点和使用习惯等问题与华为等公司技术骨干和专家进行现场互动。
化解软件开发中质量与速度的矛盾
无论是互联网公司还是软件公司,程序员绝对是平均工作时间最长的职业,究其原因是为了不落后于竞争对手,每天的开发任务堆积如山。大部分公司延长了程序员的平均工作时间。而程序员高精度的工作要求,在脑力消耗方面非常大,长时间工作又容易导致代码质量下降。质量与速度这一对矛盾,成为每一个有技术开发能力的公司管理中“痛点”。
智能化手段,使用机器人与程序员协作,将成为未来的发展趋势。aiXcoder是中国最早探索“程序代码自动生成与补全”的智能化技术的领先者,这一研究的进展直接缓解目前大部分人工智能企业的燃眉之急:程序员的工作负担,软件的编码效率、软件开发成本等问题,还能够使程序员不再被机械的编程规则、惯用模式所拖累,可以将精力集中于具有创造性的编程活动。
aiXcoder的创始团队来自北京大学高可信软件技术教育部重点实验室,是国际上最早运用深度学习技术进行计算机程序分析与生成研究的团队之一,并一直保持该领域的国际领先地位。
在最近一次标准化对比测试中,aiXcoder与2018年人工智能顶级会议IJCAI上刚刚发表的最新成果进行对比,在相同的训练数据集和计算环境下,aiXcoder在代码补全任务中的推荐准确率比该成果高出近10个百分点。
用云端“编程大脑”辅助提升代码质量
aiXcoder采用“云服务”的运行模式,其深度学习模型如同部署在云端的“编程大脑”,其客户端以插件的形式集成在IDE中,实现了与IntelliJ、Eclipse、VS-Code等主流集成开发平台的无缝对接,程序员可以通过aiXcoder插件实现与“云端AI服务”的对接,随时随地使用自己的“编程大脑”。
当前版本的aiXcoder具备了两项基本功能:代码自动补全和相似代码智能推荐。在程序员编写代码的过程中,AI引擎自动预测程序员后续可能要写的代码,程序员只需要“一键确认”,即可完成一行或多行代码的编写。相似代码推荐是指aiXcoder自动理解程序员正在编写的代码,并从规范代码库中及时找出相似的代码,及时推荐给程序员。
在与程序员的合作互动中,aiXcoder可以通过模拟深度神经网络模型进行深度学习,了解程序员的个人编程习惯,掌握隐含于海量代码中的编码模式与规律,自动记录程序员常用的程序模式、常用的API调用序列等等,从而在程序员编程过程中进行有效地自动辅助,在最大程度上协助程序员自动完成非创造性工作。
与企业互动携手智能编程的未来
据介绍,目前aiXcoder团队已经与华为达成深度合作,继续提升产品体验,拓展更加丰富的应用场景。
使用过该服务的某软件外包公司反馈:aiXcoder不仅能够有效节省程序员的开发时间,还能够有效降低程序员对API文档或相关信息的依赖。
“程序员的使用反馈意见也给了我们很多启示”李戈表示,感谢合作伙伴华为提供的应用场景,同时,aiXcoder团队已经就初始用户的使用反馈优化了产品设计。aiXcoder能够为软件企业提供专业领域的定制化专属服务,以企业内部云的方式为软件企业提供专属服务。
“应该让程序员的创造性价值得到更加充分的体现。”李戈在会议中发言,“我们正在不断努力提升aiXcoder的能力。在这个软件开发需求高速增长的时代,我们希望使aiXcoder赋能于更多的程序员,把优秀的程序员从低级的重复劳动中解放出来,让他们更加轻松地投入更加富有创造性的编程工作中。”
据悉,除了华为以外,aiXcoder团队还与百度和软通动力等具备强大科技实力的互联网公司加强合作。希望通过科技的力量赋能编程人员,让科技公司的代码效率得到大幅提升。
华为公司长期以来在技术上勇于探索,开创先河。aiXcoder与华为就智能编程机器人方面的探索与合作实现了学术界和产业界的合作共赢。
软件是未来世界不可或缺的重要元素。也是科技公司的核心竞争力。当前我们所能达到的智能还是数据驱动的智能,而未来我们期待的是“类人智能”——即它能通过“思考”展现出增强人们生活和改变社会的潜力。
Source: 公司官网