Dynamic metrics for Java']Java

被引:43
|
作者
Dufour, B [1 ]
Driesen, K [1 ]
Hendren, L [1 ]
Verbrugge, C [1 ]
机构
[1] McGill Univ, Sch Comp Sci, Montreal, PQ H3A 2A7, Canada
关键词
experimentation; languages; measurement; performance; standardization; dynamic metrics; software metrics; program analysis; !text type='Java']Java[!/text; profiling; execution traces; optimization;
D O I
10.1145/949343.949320
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In order to perform meaningful experiments in optimizing compilation and run-time system design, researchers usually rely on a suite of benchmark programs of interest to the optimization technique under consideration. Programs are described as numeric, memory-intensive, concurrent, or object-oriented, based on a qualitative appraisal, in some cases with little justification. We believe it is beneficial to quantify the behaviour of programs with a concise and precisely defined set of metrics, in order to make these intuitive notions of program behaviour more concrete and subject to experimental validation. We therefore define and measure a set of unambiguous, dynamic, robust and architecture-independent metrics that can be used to categorize programs according to their dynamic behaviour in five areas: size, data structure, memory use, concurrency, and polymorphism. A framework computing some of these metrics for Java programs is presented along with specific results demonstrating how to use metric data to understand a program's behaviour, and both guide and evaluate compiler optimizations.
引用
收藏
页码:149 / 168
页数:20
相关论文
共 50 条
  • [21] Dynamic Purity Analysis for Java']Java Programs
    Xu, Haiying
    Pickett, Christopher J. F.
    Verbrugge, Clark
    PASTE'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN- SIGSOFT WORKSHOP ON PROGRAM ANALYSIS FOR SOFTWARE TOOLS & ENGINEERING, 2007, : 75 - 82
  • [22] Dynamic code management on a Java']Java multicomputer
    Sage, PP
    Milligan, P
    Bouridane, A
    NINTH EUROMICRO WORKSHOP ON PARALLEL AND DISTRIBUTED PROCESSING, PROCEEDINGS, 2001, : 97 - 101
  • [23] An Approach to Dynamic Software Updating for Java']Java
    Yao Zhenxing
    Zhang Zhixiang
    Ben Kerong
    PACIIA: 2008 PACIFIC-ASIA WORKSHOP ON COMPUTATIONAL INTELLIGENCE AND INDUSTRIAL APPLICATION, VOLS 1-3, PROCEEDINGS, 2008, : 1878 - 1882
  • [24] Analysis of dynamic class loading in Java']Java
    Kim, KT
    Jo, SM
    Kouh, HJ
    Sim, HJ
    Lee, KL
    Yoo, WH
    PDPTA'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS 1-4, 2003, : 1628 - 1634
  • [25] Formalizing Java']Java dynamic loading in HOL
    Zuo, TJ
    Han, JG
    Chen, P
    THEOREM PROVING IN HIGHER ORDER LOGICS, PROCEEDINGS, 2004, 3223 : 287 - 304
  • [26] Featherweight Java']Java with dynamic and static overloading
    Bettini, Lorenzo
    Capecchi, Sara
    Venneri, Betti
    SCIENCE OF COMPUTER PROGRAMMING, 2009, 74 (5-6) : 261 - 278
  • [27] Distributed dynamic slicing of Java']Java programs
    Mohapatra, Durga P.
    Kumar, Rajeev
    Mall, Rajib
    Kumar, D. S.
    Bhasin, Mayank
    JOURNAL OF SYSTEMS AND SOFTWARE, 2006, 79 (12) : 1661 - 1678
  • [28] A technique for dynamic updating of Java']Java software
    Orso, A
    Rao, A
    Harrold, MJ
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2002, : 649 - 658
  • [29] Static Analysis of Java']Java Dynamic Proxies
    Fourtounis, George
    Kastrinis, George
    Smaragdakis, Yannis
    ISSTA'18: PROCEEDINGS OF THE 27TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2018, : 209 - 220
  • [30] Investigating Different Metrics for Evaluation and Selection of Mutation Operators for Java']Java
    Rani, Shweta
    Suri, Bharti
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2021, 31 (03) : 311 - 336