An Anomaly-Based Approach for Detecting Modularity Violations on Method Placement

An Anomaly-Based Approach for Detecting Modularity Violations on Method Placement
复制标题

DOI:
10.1109/qrs57517.2022.00038
复制
发表时间:
2022-12
期刊:
2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)
影响因子:
--
通讯作者:
Kazuki Yoda;Tomoki Nakamaru;Soramichi Akiyama;S. Chiba
Kazuki Yoda;Tomoki Nakamaru;Soramichi Akiyama;S. Chiba
中科院分区:
其他
文献类型:
--
作者:
Kazuki Yoda;Tomoki Nakamaru;Soramichi Akiyama;S. Chiba

文献摘要

相似文献

本文提出了一种用于检测Java包中方法放置异常的技术。当开发人员在他们的软件开发项目中提交更改时,这种异常检测可以帮助代码评审人员发现属于模块化中不适当的包的方法。将这种方法转移到适当的包中将有助于在项目中保持良好的模块化。这在开发的后期阶段尤其有益,因为在这个阶段,模块化往往会因为添加了最初计划中没有预料到的新特性而受到破坏。我们的技术是基于机器学习中的少镜头分类。本文的经验表明,我们的神经网络模型可以检测到异常的方法放置和异常的显着部分被认为是不适当的方法放置模块化。我们的模型甚至可以发现一个违反项目特定编码规则的方法放置,开发人员出于可维护性或可读性的原因会选择这个规则。我们的技术是有用的,在这样一个特定于项目的规则保持一致性。
This paper presents a technique for detecting an anomaly in method placements in Java packages. This anomaly detection helps code reviewers discover a method belonging to an inappropriate package in modularity when developers commit changes in their software development projects. Moving such a method to an appropriate package will contribute to the maintenance of good modularity in their projects. This is particularly beneficial in the later stage of development, where modularity is often violated by adding new features not anticipated in the initial plan. Our technique is based on few-shot classification in machine learning. This paper empirically reveals that our neural network model can detect an anomaly in method placements and a significant portion of the anomalies is considered as inappropriate method placements in modularity. Our model can discover even a method placement that violates a project-specific coding rule that its developers would choose for some reason of maintainability or readability. Our technique is useful for maintaining the consistency in such a project-specific rule.