Can Latent Topics in Source Code Predict Missing Architectural Tactics?

被引:14
|
作者
Gopalakrishnan, Raghuram [1 ]
Sharma, Palak [1 ]
Mirakhorli, Mehdi [1 ]
Galster, Matthias [2 ]
机构
[1] Rochester Inst Technol, Rochester, NY 14623 USA
[2] Univ Canterbury, Christchurch, New Zealand
基金
美国国家科学基金会;
关键词
Architectural design and implementation; tactic recommender; emergent design; ARTIFICIAL NEURAL-NETWORKS; RECOMMENDER SYSTEMS; SOFTWARE ARCHITECTURE; ALGORITHM;
D O I
10.1109/ICSE.2017.10
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Architectural tactics such as heartbeat, resource pooling, and scheduling provide solutions to satisfy reliability, security, performance, and other critical characteristics of a software system. Current design practices advocate rigorous up-front analysis of the systems quality concerns to identify tactics and where in the code they should be used. In this paper, we explore a bottom-up approach to recommend architectural tactics based on latent topics discovered in the source code of projects. We present a recommender system developed by building predictor models which capture relationships between topical concepts in source code and the use of specific architectural tactics in that code. Based on an extensive analysis of over 116,000 open source systems, we identify significant correlations between latent topics in source code and the usage of architectural tactics. We use this information to construct a predictor for generating tactic recommendations. Our approach is validated through a series of experiments which demonstrate the ability to generate package-level tactic recommendations. We provide further validation via two large-scale studies of Apache Hive and Hadoop to illustrate that our recommender system predicts tactics that are actually implemented by developers in later releases.
引用
收藏
页码:15 / 26
页数:12
相关论文
共 50 条
  • [1] TopicXP: Exploring Topics in Source Code using Latent Dirichlet Allocation
    Savage, Trevor
    Dit, Bogdan
    Gethers, Malcom
    Poshyvanyk, Denys
    [J]. 2010 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2010,
  • [2] Inferring Architectural Evolution from Source Code Analysis A Tool-Supported Approach for the Detection of Architectural Tactics
    Kapto, Christel
    El Boussaidi, Ghizlane
    Kpodjedo, Segla
    Tibermacine, Chouki
    [J]. SOFTWARE ARCHITECTURE, ECSA 2016, 2016, 9839 : 149 - 165
  • [3] Using heuristics to estimate an appropriate number of latent topics in source code analysis
    Grant, Scott
    Cordy, James R.
    Skillicorn, David B.
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (09) : 1663 - 1678
  • [4] Detecting, Tracing, and Monitoring Architectural Tactics in Code
    Mirakhorli, Mehdi
    Cleland-Huang, Jane
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2016, 42 (03) : 206 - 221
  • [5] ArchTacRV: Detecting and Runtime Verifying Architectural Tactics in Code
    Ge, Ning
    Wang, Ze
    Zhang, Li
    Zhao, Jiuang
    Zhou, Yufei
    Liu, Zewei
    [J]. 2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022), 2022, : 566 - 576
  • [6] Missing source code is a problem
    [J]. Managing System Development, 1997, 17 (08):
  • [7] Does BERT Understand Code? - An Exploratory Study on the Detection of Architectural Tactics in Code
    Keim, Jan
    Kaplan, Angelika
    Koziolek, Anne
    Mirakhorli, Mehdi
    [J]. SOFTWARE ARCHITECTURE (ECSA 2020), 2020, 12292 : 220 - 228
  • [8] Semantic clustering: Identifying topics in source code
    Kuhn, Adrian
    Ducasse, Stephane
    Girba, Tudor
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2007, 49 (03) : 230 - 243
  • [9] A Program Synthesis Approach for Adding Architectural Tactics to An Existing Code Base
    Shokri, Ali
    [J]. 2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021, 2021, : 1388 - 1390
  • [10] Recovering Architectural Variability from Source Code
    Lima, Crescencio
    Machado, Ivan
    Galster, Matthias
    Chavez, Christina von Flach G.
    [J]. 34TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2020, 2020, : 808 - 817