首页> 外文会议>IEEE/ACM International Conference on Program Comprehension >Learning a Classifier for Prediction of Maintainability Based on Static Analysis Tools
【24h】

Learning a Classifier for Prediction of Maintainability Based on Static Analysis Tools

机译:学习基于静态分析工具的可维护性预测分类器

获取原文

摘要

Static Code Analysis Tools are a popular aid to monitor and control the quality of software systems. Still, these tools only provide a large number of measurements that have to be interpreted by the developers in order to obtain insights about the actual quality of the software. In cooperation with professional quality analysts, we manually inspected source code from three different projects and evaluated its maintainability. We then trained machine learning algorithms to predict the human maintainability evaluation of program classes based on code metrics. The code metrics include structural metrics such as nesting depth, cloning information and abstractions like the number of code smells. We evaluated this approach on a dataset of more than 115,000 Lines of Code. Our model is able to predict up to 81% of the threefold labels correctly and achieves a precision of 80%. Thus, we believe this is a promising contribution towards automated maintainability prediction. In addition, we analyzed the attributes in our created dataset and identified the features with the highest predictive power, i.e. code clones, method length, and the number of alerts raised by the tool Teamscale. This insight provides valuable help for users needing to prioritize tool measurements.
机译:静态代码分析工具是监视和控制软件系统质量的流行辅助工具。尽管如此,这些工具仅提供了开发人员必须解释的大量度量,以便获得有关软件实际质量的见解。在与专业质量分析人员的合作下,我们手动检查了三个不同项目的源代码并评估了其可维护性。然后,我们训练了机器学习算法,以根据代码指标预测程序类的人员可维护性评估。代码度量包括结构度量,例如嵌套深度,克隆信息和抽象,例如代码气味的数量。我们在超过115,000行代码的数据集上评估了这种方法。我们的模型能够正确预测多达81%的三重标签,并达到80%的精度。因此,我们认为这是对自动化可维护性预测的有希望的贡献。此外,我们分析了创建的数据集中的属性,并确定了具有最高预测能力的功能,即代码克隆,方法长度以及工具Teamscale发出的警报数量。这种见解为需要优先考虑工具测量的用户提供了宝贵的帮助。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号