CCF中国软件大会由中国计算机学会(CCF)主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会、复旦大学承办。本次大会在12月1日到3日之间举行,主题为“智能化软件创新推动数字经济与社会发展”。白泽和同学们也参加了这次会议,并且收获满满,现在就让我们看看同学们的分享吧!
向左滑动查看更多现场照片
内容分享
生成式AI与软件自动化论坛
by 汤杭运
基于大代码的软件自动化:机会与挑战
Session主要介绍了软工工作的发展历程:从开源代码到软件仓库。Code-search 相关的代码分析工作,主要聚焦在 mining software repositories 。该方向一直发展的不温不火的主要原因是缺乏对于代码语义和自然语义的良好理解
当前的突破主要还是自然语言工具发展带来的红利。采用tansformer 架构。目前涌现出 OpenAI Codex 和 AIXcoder 等有一定实际工程应用价值的代码补全工具,但是这些工具的使用仍然需要“监督”。
模型时代的软件研发:范式与工具
大模型的序列预测能力很强,是目前最有效的程序搜索技术。大模型在表达意图,理解意图和人机交互方面,表现出远超传统软件的能力。但是这方面的能力也需要经过数据保证。因此高质量的数据和数据收集与加工方法就显得非常重要。甚至成为软件研发必不可少的一部分。
当前面临的计算资源困境和模型重复建设问题,也可以通过领域大模型与公共模型基座相结合的方式得到一程度的缓解。但是对于大模型是否能够提升研发效率,多大程度地提升研发效率等实证研究工作还比较匮乏。同时值得思考的是大模型质量和保障工作:原理上和 Transformer 不同的架构是否能够被提出,能否有解释性更好的方法。
AIGC下的软件工程新范式论坛
by 于正民
漏洞提前感知
目前,主要存在几种不同的漏洞披露模型,目前大多数厂商采用协同披露模型。协同披露模型允许漏洞发现者首先私下通知受影响的软件厂商或系统运营者,并给予他们一定的时间来处理和修复这个漏洞。但是这带来了漏洞利用的时间窗口。
现有工作中,GitHub开发了CodeQL,用于扫描commit并提供漏洞警报,但只供OSS库维护者使用,不能用于分析依赖库的代码更新。华为在2021年提出了VulFixMine,能从commit-level代码更改中提取语义以识别静默修复,但无法对已识别的修复提供解,可用性较低。报告中的主要工作为了静默漏洞修复识别及可解释性信息的生成(CWE分类)并提出CoLeFunDa框架。
漏洞扫描
传统的使用深度学习来识别漏洞模式。该方法面临的主要问题包括:难以从大量无关信息中区分出与漏洞相关的信息,以及处理长代码时的效率不高。报告介绍的方法将代码片段的基于语法的控制流图(CFG)分解为多个执行路径来检测漏洞。接着,采用预训练的代码模型和卷积神经网络来学习路径表示,其中包括路径内部和路径间的注意力机制。将这些路径的特征向量组合起来,作为代码片段的表示,然后输入到分类器中进行漏洞检测。通过将代码片段分解为多个路径,可以过滤掉一些与漏洞无关的冗余信息,帮助模型专注于漏洞特征。
编译技术与编译器设计论坛
面向新型应用范式与新型体系结构的编译技术探索
崔慧敏老师分享了其团队近三年在编译器方向上围绕着性能分析与优化、软硬件协同设计等方面的研究和探索,接下来介绍崔研究员汇报中内容。人工智能应用的发展对算力需求的多样性和处理能力都有了巨大的需求,也促进了体系结构方面的一系列创新,由此对上层的软件生态造成了诸多的挑战。
编译器与CPU扩展指令的软硬件协同设计
曾建江博士分享了华为团队在针对JVM的低时延垃圾收集器的优化上设计的CPU指令扩展工作中的设计理念和方法流程。面向应用领域的扩展指令是CPU处理器提升特定场景运行效率与性能的重要技术手段,而编译器则需要为扩展指令提供良好的支持,以便于软件能够充分发挥扩展指令的效果。这一工作可以有效增强Java应用程序执行的流畅性,也就是能够有效解决JDK长时间运行后由于GC处理时延导致的卡顿问题。
DDoop:基于差分式Datalog求解的增量指针分析框架
在传统指针分析框架中,对于不同版本应用程序的指针分析,通常作为不同的分析个体进行分析,造成了分析人员需要花费大量时间执行指针分析,同时也无法很好的表征出来版本迭代之间新代码以及删除代码带来的程序行为变更。
本次报告的启发性主要在于其对于指针分析结果的增量式分析所带来的优势。同时基于DataLog的指针分析现阶段主要流行于PL领域,但是其性能对于安全领域的分析也有重要的借鉴价值,其中一点是DataLog引擎的求解结构和指针分析的求解结构具有天然相似性,可以大大减少指针分析相关的程序行为分析的设计压力。
新兴系统软件论坛
by 钟康维
遥测数据云端存储与管理系统
该系统解决了通过传感器被遥测终端接收到的实时数据的存储和管理问题。杨老师结合与华为合作的openGemini系统,重点介绍了支持OpenTelemetry的云端数据存储与管理系统,可以同时支持metrics和logs不同数据模型的存储与管理,实现混合数据模型的无缝集成。
语义增强的嵌入式固件静态分析技术
目前嵌入式设备的安全漏洞很多,但传统的静态分析技术不足以支撑挖掘嵌入式设备的漏洞。污点三要素有source、sink和sanitizer,污点分析包括三要素的识别和漏洞检测规则。
霍老师团队提出从语义增强角度提升污点三要素的识别,并从网络设备的后端污点类漏洞和蜂窝基带的污点类漏洞两个方面进行举例说明如何利用领域知识找到更精确的source和sink,并发现更多漏洞。
联邦学习
童咏昕老师用生动的例子说明了到底什么是联邦学习,就是“数据不动计算动”,他们的研究目前主要在解决联邦学习 “搭便车”的问题,即跨域大数据价值的参差,比如小公司和大公司共享数据,但小公司的数据很少,这种情况该如何进行较为公平的联邦学习,从而引出了团队的工作联邦计算开源平台。
童老师最后展望了联邦学习的发展,一方面是法律的描述和计算机是两套体系,计算法学如何把法律条文变成技术规范是一类问题,另一方面联邦大模型是一个非常值得关注的方向。
开源软件生态健康度量论坛
by 陈沛
大模型时代的智能微服务系统
本报告重点讨论如何基于开源软件工具和模型来实现智能化的微服务系统,包括:微服务系统的开发设计、部署运维等,同时分析大模型技术对微服务软件系统的DevOPS的影响。
该领域目前的现状为强弱涌现,从开源生态系统的健康分析来看,目前对开源系统的研究还是基于实验数据,没有从架构。对开源生态系统的大规模模拟可以从Agent-Based simulation,即微观-介观-宏观进行建模,以及LLM大规模模拟两方面进行。报告最后介绍了有关大模型增强的智能服务运维。
源图”开源软件基础设施的实践与展望
报告将介绍“源图”开源软件基础设施的建设背景、已有进展和应用实践,也将展望“源图”在未来人工智能大模型时代的持续作用。
开源操作系统的本质是开源软件供应链(SBOM)整合优化后的产物。SBOM现在面临的挑战一方面在于发展过快、规模过大、难以管理,另一方面主要是技术上的问题,有漏洞传播快,供应链偷渡,上游断档,任性升级,跑路等问题。源图是开源软件基础设施平台,它不是托管平台,而是化工厂,提取价值再加工。报告中还表示,开源软件使得软件工业化程度越来越高,因此在未来,“软件超级工厂”一定会诞生。
开源软件及社区:精细化度量和智能化支持
本报告从开源的必要性和正义性讲起,讨论开源开发的若干挑战:激励机制、供应链风险和生态形成等,并分享开源研究的角度:面向场景的精细化度量和大模型时代的智能化支持。
报告中的视角,主要在贡献者行为度量,预测未来行为上, 并且度量供应链中已有的一些工具。报告中提到的一个关键是可解释的度量,用于预测项目的寿命,以及构建人和代码的复杂系统。该领域未来的发展在于群智激励机制,并且希望能够达到产学研的目标。
参会心得
张歆
在这次大会中,大家一直在谈论的话题就是“智能“、“大模型”,在新型系统软件论坛的panel中,几位老师的看法让我很有感触。在当今,智能时代并不是把饭碗抢走了,而是将我们要解决的问题难度变高了,比如在万物互联的当下,系统化、跨平台的特性使得问题定位的难度也陡增。另一方面,有了大模型,不代表原有经典问题的研究就失去了意义,仍是需要我们坚持去推进的,同时,大模型也可以成为解决问题的一把利器,恰当地利用大模型可能可以让原本困难的问题事半功倍。对于大模型的运用方面,这次大会中的报告也让我进一步打开了思路,大模型文本对话的特性将思维局限在似乎大模型只适合用在文本生成类任务中,如测试代码生成等,但是刘哲老师的报告启发了我,只要能完成目标任务输入输出形式与自然语言描述之间的转换,大模型就可能能发挥出作用。
不愿透露姓名的林同学
通过参加此次会议,我收获很多,不仅学习到了其他研究者的研究视角,更重要的是拓宽视野了解到了当前学术界和工业界的前沿课题。在程序分析的技术上我还有很多需要优化的空间。当前在PL领域,存在大量前沿的静态程序分析和程序优化技术,尚未观察到其被应用于安全分析领域。其中毕竟突出的是Java指针分析技术,以及基于Datalog引擎的指针分析工具设计,这两种技术可以充分提高静态程序分析的效率和准确性,此后可以加以学习。同时在Android应用程序的结构分析上还有一些可以学习的视角,例如App版本切换引发的功能变化以及指针信息变更等,均可以通过版本迭代信息+增量分析的模式获取相关信息,用于多视角分析或者设计高效的工具。
于正民
在参加了这次学术会议之后,我深刻认识到在安全领域,我们必须不断加强交流和讨论。在一个快速发展的技术环境中,很多我们正在尝试或计划开展的工作,可能已经被同行探索过。这种现象提醒我们,必须更加积极地分享经验、学习别人的成果和教训。通过这样的交流,我们可以避免重复工作,更快地推进自己的研究和实践,从而在保持创新的同时,也保证了工作的高效性。
LLM的迅猛发展和广泛应用,让我深感提前布局、抓紧时间变得至关重要,它在学术界和工业界已经被广泛应用于解决各种问题。对于我们这些安全专业人士来说,如果不能迅速掌握并运用这些新技术,就会在这场科技革命中落后。因此,我们必须积极拥抱并快速学习这些新兴技术,以确保我们的技能和方法能够与时俱进,满足未来安全挑战的需求。
看了同学们的分享
相信大家也一定有很多收获吧
什么?还没看够?
那么敬请期待下一期吧!