蚂蚁集团与香港科技大学合作论文获 ACM SIGPLAN Distinguished Paper Award

近日,面向对象技术领域的计算机编程语言领域顶级会议 OOPSLA 公布论文接收结果,蚂蚁集团与香港科技大学合作的一篇编程语言相关论文荣获 ACM SIGPLAN Distinguished Paper Award,成为 OOPSLA 2022 唯一获此荣誉的中国论文。

面向对象程序设计语言大会 OOPSLA (ACM international conference on Object oriented programming systems languages and applications) 是计算机协会 ACM 的重要年度性会议,大会主题为程序语言的设计(如语言设计和拓展,类型系统,程序语义与逻辑)、支持环境 (如编译器,运行时技术) 及其应用 (如程序分析,程序验证,程序合成)。

此次蚂蚁集团获 ACM SIGPLAN Distinguished Paper Award 的论文为《Complexity-guided container replacement synthesis》,论文基于蚂蚁集团的真实业务场景展开研究,其研究成果旨在提升程序运行效率,节约计算资源。

容器使用不当的场景在 java 中十分常见(比如用 linkedlist 进行随机访问),此时程序的功能正确性虽然没有问题,但依然带来了不必要的复杂性,浪费了计算资源。因此,为提升程序运行效率,节省算力降低能耗,该论文提出了一种基于程序综合用以替换容器类型来提高程序运行时性能的方法 -- Cres 方法,用以规避列表和映射等容器类型选择不当所可能导致的严重性能问题。

Cres 利用静态分析技术识别容器在程序中的使用方式,并尝试为每个容器方法调用选择时间复杂度更低的方法,从而保持程序原有行为并减少执行时间。在 12 个真实世界的 Java 项目上对其进行评估的结果表明,经 Cres 进行容器类型替换后生成的程序可以实现平均 8.1% 的运行时性能提升。值得一提的是,Cres 可以在 14 分钟内完成对规模为 384.2 KLoC 的项目的分析。论文基于蚂蚁代码分析实验平台 Pinpoint 完成了 Cres 的算法实现, 目前已实现相关代码合入公司 Pinpoint 项目当中,产生实际应用价值。

合成算法 Cres 流程图

据不完全统计,此前在计算机编程语言领域的各大国际顶会中,获得 ACM SIGPLAN Distinguished Paper Award 的中国论文总计不超过 10 篇,此次蚂蚁集团的论文获奖,显示出国内企业在该领域的技术进步。

据公开数据,蚂蚁集团 2018-2021 年科研经费投入规模年均增长率超过 39%,2021 年科研投入超过 188 亿元,并成立了蚂蚁技术研究院,加大对前沿科学技术的探索与研究。