DRACO: Discovering Refactorings That Improve Architecture using Fine-Grained Co-change Dependencies

被引:2
|
作者
de Oliveira, Marcos Cesar [1 ]
机构
[1] Univ Brasilia, Brasilia, DF, Brazil
关键词
Refactoring; co-change dependencies; remodularization; clustering; architecture quality;
D O I
10.1145/3106237.3119872
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Co-change dependencies arise whenever two source code entities, such as classes, methods, or fields, change frequently together. Similar to other kinds of software dependencies, it is possible to build software clusters from co-change relationships and, as such, previous studies explored the use of this kind of dependency in several software engineering tasks, such as predicting software faults, recommending related source code changes, and assessing software modularity. In this ongoing work, our goal is to provide tools to discover refactoring opportunities-such as move method, move field, split class, or merge classes-that are revealed when comparing the co-change clusters of fine-grained source code entities (methods, fields, constructors) to the original class decomposition; specifically when a source code entity is in the same class but in different clusters (or vice-versa). Our approach, named Draco, aims to produce minimal refactoring sequences that improve architecture decomposition.
引用
收藏
页码:1018 / 1021
页数:4
相关论文
共 20 条
  • [1] Finding needles in a haystack: Leveraging co-change dependencies to recommend refactorings
    de Oliveira, Marcos Cesar
    Freitas, Davi
    Bonifacio, Rodrigo
    Pinto, Gustavo
    Lo, David
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 158
  • [2] Understanding Evolutionary Coupling by Fine-grained Co-change Relationship Analysis
    Zhou, Daihong
    Wu, Yijian
    Xiao, Lu
    Cai, Yuanfang
    Peng, Xin
    Fan, Jinrong
    Huang, Lu
    Chen, Heng
    2019 IEEE/ACM 27TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2019), 2019, : 271 - 282
  • [3] Using Co-Change Histories to Improve Bug Localization Performance
    Tantithamthavorn, Chakkrit
    Ihara, Akinori
    Matsumoto, Ken-ichi
    2013 14TH ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING (SNPD 2013), 2013, : 543 - 548
  • [4] Circumventing Refactoring Masking using Fine-Grained Change Recording
    Soetens, Quinten David
    Perez, Javier
    Demeyer, Serge
    Zaidman, Andy
    14TH INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION (IWPSE 2015), 2015, : 9 - 18
  • [5] Using Hierarchical Class Structure to Improve Fine-Grained Claim Classification
    Dayanik, Erenay
    Blessing, Andre
    Blokker, Nico
    Haunss, Sebastian
    Kuhn, Jonas
    Lapesa, Gabriella
    Pado, Sebastian
    SPNLP 2021: THE 5TH WORKSHOP ON STRUCTURED PREDICTION FOR NLP, 2021, : 53 - 60
  • [6] HotSpot Minimization using Fine-grained DVS Architecture at 90 nm Technology
    Mukherjee, Rajdeep
    Ghosh, Priyankar
    Pal, Ajit
    2012 ASIA PACIFIC CONFERENCE ON POSTGRADUATE RESEARCH IN MICROELECTRONICS & ELECTRONICS (PRIMEASIA), 2012, : 13 - 18
  • [7] Using observed traffic volumes to improve fine-grained regional emissions estimation
    Niemeier, DA
    Lin, K
    Utts, J
    TRANSPORTATION RESEARCH PART D-TRANSPORT AND ENVIRONMENT, 1999, 4 (05) : 313 - 332
  • [8] Using and Collecting Fine-Grained Usage Data to Improve Online Learning Materials
    Leppanen, Leo
    Leinonen, Juho
    Ihantola, Petri
    Hellas, Arto
    2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING EDUCATION AND TRAINING TRACK (ICSE-SEET 2017), 2017, : 4 - 12
  • [9] Fine-Grained Vehicle Model Recognition Using A Coarse-to-Fine Convolutional Neural Network Architecture
    Fang, Jie
    Zhou, Yu
    Yu, Yao
    Du, Sidan
    IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, 2017, 18 (07) : 1782 - 1792
  • [10] Supporting Merge Conflict Resolution by Using Fine-Grained Code Change History
    Nishimura, Yuichi
    Maruyama, Katsuhisa
    2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 1, 2016, : 661 - 664