我院研发效能实验室荣国平课题组在软件日志实践研究方面取得进展

发布日期:2022-04-19 浏览次数:


近年来,随着DevOps(开发运维一体化)和云原生开发形态的普及,软件服务的监控和异常处理比以往任何时候都更加重要。同时,由于现代软件系统的规模快速增长、架构愈发复杂、以及部署日益去中心化,致使异常检测和根因定位也变得愈发困难。因此,许多研究者和实践者认为,软件系统运行时的信息对于异常检测和处理至关重要。其中,日志通常作为捕获此类运行时信息的有效手段,其包含的内容往往是软件工程师在生产环境中排查和诊断软件故障的唯一信息来源。

尽管工业界已经普遍意识到了日志实践的重要性,但这种实践通常依赖软件工程师的专业知识、经验和偏好,容易导致日志记录的缺失或过度。上述问题也容易导致软件系统运行时的行为和状态无法按照预期被捕获。当前,尽管已经存在非常广泛的研究来改进日志实践,但实践的现状也反映出工业界并没有从这些研究成果中真正获益。例如,许多日志相关研究提出优化日志位置或增强日志内容的方法以改善日志实践,但这些建议却很少会被应用在开发者日常普遍使用的日志工具中。

为破解软件日志实践长期以来存在的诸多难题,着力弥合学界与工业界的认知鸿沟,我校软件学院研发效能实验室荣国平课题组长期以来聚焦软件运维质量保障,深度回溯软件日志实践研究现状,致力探寻未来研究新方向。课题组应用系统化映射研究方法(Systematic  Mapping Study)对日志实践的研究现状进行全面且系统的整合,通过建立实践中存在的挑战和研究中提出的解决方案的映射关系,探究现有研究中可能存在的问题和局限,并进一步阐明了未来潜在的研究方向。具体而言,该研究以Why to logWhere to logWhat to log?以及How well is the logging?为分类标准,全面、清晰地梳理了日志实践的最前沿的研究状况。研究发现,大多数日志相关的问题、研究课题和提出的解决方法都集中在Where to log?和 What to log?两大类上,而对于另外两个方面的研究却很少。继而通过交叉分析揭示了现有日志实践相关研究中可能存在对关键问题研究不足、对通用解决方案期望过高、割裂日志实践与日志分析等实际问题。课题组认为,如果这些问题没能得到很好解决,那么日志实践的现状将难以取得明显改善。基于以上发现,课题组提出了日志实践的过程化视角、日志意图的锚点价值等几个潜在的未来研究方向。

 

关键问题之间的关联关系暨日志实践的过程视角


日前,相关成果以"Logging Practices in Software Engineering: A Systematic Mapping Study"为题在线发表于国际软件工程研究领域顶级期刊IEEE Transactions on Software EngineeringDOI: 10.1109/TSE.2022.3166924)。我校软件学院在读博士生顾胜晖为论文第一作者,荣国平副研究员为通讯作者,软件学院张贺教授与澳大利亚凯斯林大学沈海峰副教授也参与了该项研究。该工作获得了国家自然科学基金、国家重点研发计划、江苏省重点研发计划等基金的支持。