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

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 metho...

Full description

Saved in:
Bibliographic Details
Published in:2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS) pp. 287 - 298
Main Authors: Yoda, Kazuki, Nakamaru, Tomoki, Akiyama, Soramichi, Chiba, Shigeru
Format: Conference Proceeding
Language:English
Published: IEEE 01-01-2022
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
ISSN:2693-9177
DOI:10.1109/QRS57517.2022.00038