Androidアプリケーションにおける静的プログラム解析と動的スタッキングアンサンブルを用いたメッセージ連鎖とメンバー無視メソッドの共起の特定
Zhichao Ma1, Yixin Bian2,3, Weijie Chen1
1College of Computer Science and Information Engineering, Harbin Normal University, Harbin, 150025, China.
Scientific reports
|December 19, 2025
まとめ
メッセージ連鎖(MC)とメンバー無視メソッド(MIM)のようなAndroidコードの臭いの共起を検出することは非常に重要です。私たちの新しい方法は、検出精度と効率を大幅に向上させ、ソフトウェアの保守性を改善します。
科学分野:
- ソフトウェア工学
- 計算機科学
背景:
- 複数のコードの臭いがAndroidアプリに存在することは、単一の臭いよりも保守性を脅かします。
- 既存の研究では、個々のコードの臭いの検出に焦点を当てることが多く、共起は無視されています。
研究 の 目的:
- 普及しているAndroid固有のコードの臭いであるメッセージ連鎖(MC)とメンバー無視メソッド(MIM)の共起を検出すること。
- 検出を改善するために、静的解析とアンサンブル学習を統合するアプローチを開発すること。
主な方法:
- MC検出のためのヒューリスティックベースの静的解析を開発し、MCとMIMの共起のために拡張しました。
- ラベル付きデータのために自動サンプル生成ツール(ASSD)を利用しました。
- 機械学習と深層学習モデルを組み合わせた、後方消去法付き動的スタッキングアンサンブル(DSE-BE)を採用しました。
主要な成果:
- DSE-BEアプローチは検出性能を大幅に向上させました。
- F1スコアは0.774から0.938に、MCCは0.623から0.874に向上しました。
- DSE-BE戦略は、個々のモデルよりも優れており、計算効率も向上しました。
結論:
- 提案された方法は、Androidアプリケーションにおける共起するコードの臭いを検出するための堅牢なソリューションを提供します。
- このアプローチは、ソフトウェア品質の向上における実用的なアプリケーションとして強力な可能性を示しています。
関連する概念動画
Automatic Processing and Automatic Social Behavior
196
Automatic processing refers to the cognitive operations that occur without conscious intent or awareness, playing a fundamental role in shaping social cognition and behavior. These processes enable individuals to navigate complex social environments efficiently by relying on mental shortcuts and pre-existing knowledge structures known as schemas. One of the most influential mechanisms underlying automatic processing is priming, which subtly activates mental representations through exposure to...
196
Assembly of Signaling Complexes
6.4K
Multiprotein signaling complexes are formed in a dynamic process involving protein-protein interactions at the cytoplasmic domain of transmembrane receptors or enzymatic and non-enzymatic proteins associated with the receptor. These complexes ensure the activation and propagation of intracellular signals that regulate cell functions.
Interaction domains in cell signaling
Interaction domains recognize exposed features of their binding partners containing post-translationally modified sequences,...
Interaction domains in cell signaling
Interaction domains recognize exposed features of their binding partners containing post-translationally modified sequences,...
6.4K
Mass Analyzers: Overview
1.5K
The mass analyzer is a crucial component of the mass spectrometer. In the ionization chamber, the vaporized sample is bombarded with a high-energy electron beam to generate a radical cation and further fragment into neutral molecules, radicals, and cations. A series of negatively charged accelerator plates accelerate the cations into the mass analyzer. The mass analyzer separates ions according to their mass-to-charge (m/z) ratios and then directs them to the detector. The common types of mass...
1.5K
Signal Sequences and Sorting Receptors
14.3K
Signal sequences are short amino acid sequences that guide newly synthesized proteins to their proper location within the cell. Classical signal sequences are fifteen to sixty amino acids long and present at the N-terminus of a polypeptide chain. Each signal sequence has a conserved segment of basic residues towards their N terminus, a hydrophobic core, and a C-terminus rich in polar residues. The C-terminus also contains a signal cleavage site and features a -3 -1 sequence motif. The -3-1...
14.3K
Impression Management Techniques III: Aligning Actions
118
Aligning actions are communicative strategies individuals employ to maintain social harmony and preserve personal identity in the face of potential disruptions to social norms. These actions are particularly important in managing social impressions when one's behavior might be seen as inappropriate, incompetent, or morally questionable.Types of Aligning ActionsThe three principal types of aligning actions are disclaimers, accounts, and apologies.DisclaimersDisclaimers are preventive; they are...
118
Signal Flow Graphs
580
Signal-flow graphs offer a streamlined and intuitive approach to representing control systems, providing an alternative to traditional block diagrams. These graphs use branches to symbolize systems and nodes to represent signals, effectively illustrating the relationships and interactions within the system.
In a signal-flow graph, branches denote the system's transfer functions, while nodes represent the signals. The direction of signal flow is indicated by arrows, with the corresponding...
In a signal-flow graph, branches denote the system's transfer functions, while nodes represent the signals. The direction of signal flow is indicated by arrows, with the corresponding...
580

