2020
DOI: 10.1007/978-3-030-45234-6_5
|View full text |Cite
|
Sign up to set email alerts
|

An Empirical Study on the Use and Misuse of Java 8 Streams

Abstract: Streaming APIs allow for big data processing of native data structures by providing MapReduce-like operations over these structures. However, unlike traditional big data systems, these data structures typically reside in shared memory accessed by multiple cores. Although popular, this emerging hybrid paradigm opens the door to possibly detrimental behavior, such as thread contention and bugs related to non-execution and non-determinism. This study explores the use and misuse of a popular streaming API, namely,… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
18
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
4
3
2

Relationship

2
7

Authors

Journals

citations
Cited by 16 publications
(19 citation statements)
references
References 32 publications
1
18
0
Order By: Relevance
“…The second and third authors are Ph.D. students with extensive coursework in actor, multithreaded and cloud systems. The fourth author is a Software Engineer professor with extensive expertise in parallel and streaming systems [Khatchadourian et al , 2020. All authors have several years of industrial work experience.…”
Section: Data Collectionmentioning
confidence: 99%
See 1 more Smart Citation
“…The second and third authors are Ph.D. students with extensive coursework in actor, multithreaded and cloud systems. The fourth author is a Software Engineer professor with extensive expertise in parallel and streaming systems [Khatchadourian et al , 2020. All authors have several years of industrial work experience.…”
Section: Data Collectionmentioning
confidence: 99%
“…Wang et al [2017] study 57 concurrency bugs in 53 open-source Node.js software and classify their root causes, patterns, impacts, manifestation, and fix strategies. Khatchadourian et al [2020] also report on API misuse for Java streams.…”
Section: Related Workmentioning
confidence: 99%
“…(In 28 randomly selected open source Java projects from the RepoReapers dataset [Munaiah et al 2017] that we could build we found 6 879 sequential stream pipelines and 49 parallel stream pipelines. A recent study by Khatchadourian et al [2020b] confirms this finding.) Still, sequential stream pipelines are often used in multi-threaded applications, so we cannot assume a single-threaded execution environment when designing optimization techniques.…”
Section: Background: Pull-and Push-style Stream Apismentioning
confidence: 53%
“…We believe that as a research community, we do not understand student conceptions and misconceptions of hofs very well at all. It would also be interesting to relate findings at this level to those on a larger scale, such as Khatchadourian, et al 's analysis of Java streams [19].…”
Section: Reflection On Ourmentioning
confidence: 99%