Finding shrink critical section refactoring opportunities for the evolution of concurrent code in trustworthy software

被引:0
|
作者
QIAN Ju [1 ]
CHEN Lin [2 ]
XU BaoWen [2 ]
机构
[1] College of Computer Science and Technology,Nanjing University of Aeronautics and Astronautics
[2] State Key Laboratory for Novel Software Technology,Nanjing University
基金
中国国家自然科学基金;
关键词
concurrent; synchronization; refactoring; dependence; escape analysis;
D O I
暂无
中图分类号
TP311.5 [软件工程];
学科分类号
081202 ; 0835 ;
摘要
With the keyword synchronized,Java provides a simple but often over-used synchronization mechanism.Many programmers tend to use a big synchronized section to protect a large block of statements even if many of them are unnecessarily synchronized.Such coarse-gained synchronizations may increase lock contention and thereby decrease the performance of a program,especially in a multi-core environment.The decrease in performance may affect the quality of service provided by the software and hence make the software less trustworthy.To ensure trustworthiness,this paper proposes a source-code level refactoring approach to optimize coarse-gained synchronizations.It exploits dependence and escape information to search for shrinkable critical sections and can transform them into smaller ones automatically.The approach can be used to gradually evolve concurrent code for better quality.In the approach,to achieve more optimizations,we develop a new escape analysis,named escape state analysis,which can not only tell us whether an object finally escapes but also determine the escape states of objects at each program site.With such an analysis,more refactoring opportunities can be found.We build a tool and test our refactoring approach on several benchmark programs.The results show that the proposed approach does make effective refactoring suggestions for the users.
引用
收藏
页码:78 / 97
页数:20
相关论文
共 5 条
  • [1] Finding shrink critical section refactoring opportunities for the evolution of concurrent code in trustworthy software
    Ju Qian
    Lin Chen
    BaoWen Xu
    Science China Information Sciences, 2013, 56 : 1 - 20
  • [2] Finding shrink critical section refactoring opportunities for the evolution of concurrent code in trustworthy software
    Qian Ju
    Chen Lin
    Xu BaoWen
    SCIENCE CHINA-INFORMATION SCIENCES, 2013, 56 (01) : 1 - 20
  • [3] Refactoring Patterns Study in Code Clones during Software Evolution
    Kanwal, Jaweria
    Inoue, Katsuro
    Maqbool, Onaiza
    2017 IEEE 11TH INTERNATIONAL WORKSHOP ON SOFTWARE CLONES (IWSC), 2017, : 45 - 46
  • [4] Tool Support for Finding Anomalies in Refactoring Edits for Improving Software Evolution
    Nguyen, Uy
    Zeng, Xinyu
    Cho, Samuel Sungmin
    Song, Myoungkyu
    2020 IEEE INTERNATIONAL CONFERENCE ON ELECTRO INFORMATION TECHNOLOGY (EIT), 2020,
  • [5] A metric-based approach to identifying refactoring opportunities for merging code clones in a Java']Java software system
    Higo, Yoshiki
    Kusumoto, Shinji
    Inoue, Katsuro
    JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2008, 20 (06): : 435 - 461