Characterizing Java']Java Streams in the Wild

被引:1
|
作者
Rosales, Eduardo [1 ]
Rosa, Andrea [1 ]
Basso, Matteo [1 ]
Villazon, Alex [2 ]
Orellana, Adriana [2 ]
Zenteno, Angel [2 ]
Rivero, Jhon [2 ]
Binder, Walter [1 ]
机构
[1] Univ Svizzera Italiana USI, Svizzera, Switzerland
[2] Univ Privada Boliviana, La Paz, Bolivia
基金
瑞士国家科学基金会;
关键词
!text type='Java']Java[!/text] streams; Stream processing; Code repositories; Empirical studies; Large-scale study; Characterization; Dynamic program analysis; GitHub; !text type='Java']Java[!/text] Virtual Machine;
D O I
10.1109/ICECCS54210.2022.00025
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Since Java 8, streams ease the development of data transformations using a declarative style based on functional programming. Some recent studies aim at shedding light on how streams are used. However, they consider only small sets of applications and mainly apply static analysis techniques, leaving the large-scale analysis of dynamic metrics focusing on stream processing an open research question. In this paper, we present the first large-scale empirical study on the use of streams in Java. We present a novel dynamic analysis for collecting runtime information and key metrics that enable the fine-grained characterization of sequential and parallel stream processing. We massively apply our dynamic analysis using a fully automated approach, supported by a distributed infrastructure to mine public software projects hosted on GitHub. Our findings advance the understanding of the use of streams, both confirming some of the results of previous studies at a much larger scale, as well as revealing previously unobserved findings in the use of streams.
引用
收藏
页码:143 / 152
页数:10
相关论文
共 50 条
  • [1] Mutation Operators for Java']Java Streams
    Aranda, Manoel, III
    Soares, Elvys
    Ribeiro, Marcio
    Ferrari, Fabiano
    Gheyi, Rohit
    Lima, Arthur
    [J]. 7TH BRAZILIAN SYMPOSIUM ON SYSTEMATIC AND AUTOMATED SOFTWARE TESTING, SAST 2022, 2022, : 59 - 68
  • [2] Optimizing Parallel Java']Java Streams
    Basso, Matteo
    Schiavio, Filippo
    Rosa, Andrea
    Binder, Walter
    [J]. 2022 26TH INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS 2022), 2022, : 23 - 32
  • [3] Attributes for Characterizing Java']Java Methods
    Lee, Illo
    Kim, Suntae
    Park, Sooyong
    Cho, Younghwa
    [J]. ADVANCED MULTIMEDIA AND UBIQUITOUS ENGINEERING: FUTURE INFORMATION TECHNOLOGY, VOL 2, 2016, 354 : 185 - 191
  • [4] Characterizing refactoring graphs in Java']Java and Java']JavaScript projects
    Brito, Aline
    Hora, Andre
    Valente, Marco Tulio
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (06)
  • [5] High Performance Computing with Java']Java Streams
    Silva, Rui
    Sobral, Joao L.
    [J]. EURO-PAR 2021: PARALLEL PROCESSING WORKSHOPS, 2022, 13098 : 17 - 28
  • [6] Infinite streams in Java
    Gruntz, Dominik
    [J]. ACM Int. Conf. Proc. Ser., (182-187):
  • [7] Large-scale characterization of Java']Java streams
    Rosales, Eduardo
    Basso, Matteo
    Rosa, Andrea
    Binder, Walter
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2023, 53 (09): : 1763 - 1792
  • [8] Enhancing Java']Java Streams API with PowerList Computation
    Niculescu, Virginia
    Bufnea, Darius
    Sterca, Adrian
    [J]. 2020 IEEE 34TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW 2020), 2020, : 375 - 384
  • [9] Characterizing aging phenomena of the Java']Java Virtual Machine
    Cotroneo, Domenico
    Orlando, Salvatore
    Russo, Stefano
    [J]. SRDS 2007: 26TH IEEE INTERNATIONAL SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS, PROCEEDINGS, 2007, : 127 - +
  • [10] Characterizing the Design and Performance of Interactive Java']Java Applications
    Zaparanuks, Dmitrijs
    Hauswirth, Matthias
    [J]. 2010 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS 2010), 2010, : 23 - 32