An efficient algorithm for computing MHP information for concurrent Java']Java programs

被引:0
|
作者
Naumovich, G [1 ]
Avrunin, GS [1 ]
Clarke, LA [1 ]
机构
[1] Univ Massachusetts, Dept Comp Sci, Lab Adv Software Engn Res, Amherst, MA 01003 USA
来源
SOFTWARE ENGINEERING - ESEC/FSE '99, PROCEEDINGS | 1999年 / 1687卷
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Information about which statements in a concurrent program may happen in parallel (MHP) has a number of important applications. It can be used in program optimization, debugging, program understanding tools, improving the accuracy of data flow approaches, and detecting synchronization anomalies, such as data races. In this paper we propose a data flow algorithm for computing a conservative estimate of the MHP information for Java programs that has a worst-case time bound that is cubic in the size of the program. We present a preliminary experimental comparison between our algorithm and a reachability analysis algorithm that determines the "ideal" static MHP information for concurrent Java programs. This initial experiment indicates that our data flow algorithm precisely computed the ideal MHP information in the vast majority of cases we examined. In the two out of 29 cases where the MHP algorithm turned out to be less than ideally precise, the number of spurious pairs was small compared to the total number of ideal MHP pairs.
引用
收藏
页码:338 / 354
页数:17
相关论文
共 50 条
  • [1] A practical MHP information analysis for concurrent Java']Java programs
    Li, L
    Verbrugge, C
    LANGUAGES AND COMPILERS FOR HIGH PERFORMANCE COMPUTING, 2005, 3602 : 194 - 208
  • [2] Efficient computation of May-Happen-in-Parallel information for concurrent Java']Java programs
    Barik, Rajkishore
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2006, 4339 : 152 - 169
  • [3] An efficient technique for dynamic slicing of concurrent Java']Java programs
    Mohapatra, DP
    Mall, R
    Kumar, R
    APPLIED COMPUTING, PROCEEDINGS, 2004, 3285 : 255 - 262
  • [4] Slicing concurrent Java']Java programs
    Chen, ZQ
    Xu, BW
    ACM SIGPLAN NOTICES, 2001, 36 (04) : 41 - 47
  • [5] Slicing concurrent Java']Java programs
    Zhao, JJ
    SEVENTH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 1999, : 126 - 133
  • [6] Error Detection in Concurrent Java']Java Programs
    Hughes, Graham
    Rajan, Sreeranga P.
    Sidle, Tom
    Swenson, Keith
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 144 (03) : 45 - 58
  • [7] Observations on the assured evolution of concurrent Java']Java programs
    Greenhouse, A
    Halloran, TJ
    Scherlis, WL
    SCIENCE OF COMPUTER PROGRAMMING, 2005, 58 (03) : 384 - 411
  • [8] A structured approach for developing concurrent programs in Java']Java
    Mizuno, M
    INFORMATION PROCESSING LETTERS, 1999, 69 (05) : 233 - 238
  • [9] A deadlock detection tool for concurrent Java']Java programs
    Demartini, C
    Iosif, R
    Sisto, R
    SOFTWARE-PRACTICE & EXPERIENCE, 1999, 29 (07): : 577 - 603
  • [10] The ThreadRadar visualization for debugging concurrent Java']Java programs
    Moseler, Oliver
    Kreber, Lucas
    Diehl, Stephan
    JOURNAL OF VISUALIZATION, 2022, 25 (06) : 1267 - 1289