Applications of Multi-view Learning Approaches for Software Comprehension
Amir Saeidi (Utrecht University, Netherlands), Jurriaan Hage (Utrecht, University, Netherlands), Ravi Khadka (Utrecht University, Netherlands),, Slinger Jansen (Utrecht University, Netherlands)

TL;DR
This paper explores multi-view learning techniques to enhance software comprehension by integrating diverse data sources, improving modularization, refactoring recommendations, and cross-view source code search in large Java systems.
Contribution
It introduces novel multi-view learning methods tailored for software comprehension, demonstrating their effectiveness in modularization, refactoring, and cross-view retrieval tasks.
Findings
Multi-view fusion guarantees a lower bound on modularization quality.
Joint subspace learning improves cross-view source code search.
Multi-view approaches can be applied to other software engineering problems.
Abstract
Program comprehension concerns the ability of an individual to make an understanding of an existing software system to extend or transform it. Software systems comprise of data that are noisy and missing, which makes program understanding even more difficult. A software system consists of various views including the module dependency graph, execution logs, evolutionary information and the vocabulary used in the source code, that collectively defines the software system. Each of these views contain unique and complementary information; together which can more accurately describe the data. In this paper, we investigate various techniques for combining different sources of information to improve the performance of a program comprehension task. We employ state-of-the-art techniques from learning to 1) find a suitable similarity function for each view, and 2) compare different multi-view…
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.
