随着软件系统规模与复杂度的提升,软件可靠性问题日益突出,如何在编译阶段自动优化程序可靠性成为关键挑战。在LLVM编译框架中,不同优化选项序列会对中间表示施加不同变换,从而生成可靠性差异显著的程序,使最优序列搜索问题尤为复杂。尽管强化学习已被用于自动化该过程,但现有方法在刻画编译动态行为的状态表示以及兼顾依赖关系与紧凑性的动作空间构建方面仍存在不足。针对上述问题,我院杜欣教授课题组创新性地提出了一种编译时软件可靠性优化的强化学习方法(OSRC-RL)。

OSRC-RL从状态建模与动作空间构建两个关键环节入手:一方面,引入编译行为感知的状态表示机制,将程序语义与编译动态过程进行联合建模,提升状态表达的准确性与判别能力;另一方面,设计依赖感知且空间紧凑的动作空间构建策略,在保留关键优化选项依赖关系的同时有效压缩搜索空间,从而提升学习效率与策略稳定性。在多个基准程序和工业实例上的实验结果表明,该方法在可靠性提升幅度与收敛效率方面均优于现有主流方法,展现出良好的实际应用潜力。
研究成果以“OSRC-RL: Optimizing Software Reliability at Compile-Time Using Reinforcement Learning”为题,被CCF A类国际期刊《ACM Transactions on Architecture and Code Optimization》录用。该论文第一单位为福建师范大学,我院研究生刘涵江为第一作者,我院杜欣、倪友聪教授为通讯作者。该研究工作得到国家自然科学基金项目的资助。
论文地址:https://dl.acm.org/doi/10.1145/3801975
