
TL;DR
This paper discusses methods for flattening Java classes to better understand inheritance effects, aiding in code quality assessment, refactoring, and evaluating external quality attributes in object-oriented programming.
Contribution
It introduces techniques for flattening Java classes and explores their applications in software quality improvement and refactoring.
Findings
Flattening reveals inherited members for better class analysis
Class flattening aids in identifying code quality issues
The paper links class flattening to practical software engineering tasks
Abstract
Improving modularity and reusability are two key objectives in object-oriented programming. These objectives are achieved by applying several key concepts, such as data encapsulation and inheritance. A class in an object-oriented system is the basic unit of design. Assessing the quality of an object-oriented class may require flattening the class and representing it as it really is, including all accessible inherited class members. Thus, class flattening helps in exploring the impact of inheritance on improving code quality. This paper explains how to flatten Java classes and discusses the relationship between class flattening and some applications of interest to software practitioners, such as refactoring and indicating external quality attributes.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Software Engineering Methodologies · Software Reliability and Analysis Research
