7 research outputs found

    Using Hierarchical Latent Dirichlet Allocation to Construct Feature Tree for Program Comprehension

    Get PDF

    Clustering Classes in Packages for Program Comprehension

    Get PDF

    Software module clustering: An in-depth literature analysis

    Get PDF
    Software module clustering is an unsupervised learning method used to cluster software entities (e.g., classes, modules, or files) with similar features. The obtained clusters may be used to study, analyze, and understand the software entities' structure and behavior. Implementing software module clustering with optimal results is challenging. Accordingly, researchers have addressed many aspects of software module clustering in the past decade. Thus, it is essential to present the research evidence that has been published in this area. In this study, 143 research papers from well-known literature databases that examined software module clustering were reviewed to extract useful data. The obtained data were then used to answer several research questions regarding state-of-the-art clustering approaches, applications of clustering in software engineering, clustering processes, clustering algorithms, and evaluation methods. Several research gaps and challenges in software module clustering are discussed in this paper to provide a useful reference for researchers in this field

    SArF:依存関係に基づいてフィーチャーを集めるソフトウェアクラスタリング

    Full text link
    ソフトウェアを複数の小単位に分割するソフトウェアクラスタリング技術は,ソフトウェアシステムを理解するうえで重要な役割を果たす.本論文では,静的な依存関係情報に基づいてソフトウェアのフィーチャをクラスタに集めるソフトウェアクラスタリングアルゴリズム「SArF」を提案する.SArFの特徴はフィーチャを集めることと,自動化である.ソフトウェアクラスタリング作業の多くは,遍在モジュールの除去作業など人間の支援を必要とするが,SArFはこれら人間の作業が不要である.SArFの特徴を実現するために,依存関係に対してフィーチャを共有する確からしさを表す専念度(Dedication)スコアを定義し,スコアで重み付けられた依存関係グラフをクラスタリングするためにモジュラリティ最大化法と組み合わせた.ケーススタディでフィーチャが集められることを示し,公開リポジトリから利用度順に収集した35ソフトウェア304バージョンからなるデータセットを用いてSArFの評価を行い,クラスタリング品質,安定度,実行時間の面でSArFが既存のアルゴリズムに対し優れることを示した.小林, 健一, 松尾, 昭彦, 松下, 誠, 他. SArF:依存関係に基づいてフィーチャーを集めるソフトウェアクラスタリング. 情報処理学会論文誌 64, 831 (2023); http://doi.org/10.20729/00225492

    Object Oriented Software Clustering Based on Community Structure

    No full text
    corecore