How Do Developers Use the Java Stream API

dc.catalogadorjlo
dc.contributor.authorNostas, Joshua
dc.contributor.authorSandoval Alcocer, Juan Pablo
dc.contributor.authorElias Costa, Diego
dc.contributor.authorBergel, Alexandre
dc.date.accessioned2024-05-31T13:16:03Z
dc.date.available2024-05-31T13:16:03Z
dc.date.issued2021
dc.description.abstractJava 8 marked a shift in the Java development landscape by introducing functional-like concepts in its stream library. Java developers can now rely on stream pipelines to simplify data processing, reduce verbosity, easily enable parallel processing and increase the expressiveness of their code. While streams have seemingly positive effects in Java development, little is known to what extent Java developers have incorporated streams into their programs and the degree of adoption by the Java community of individual stream's features. This paper presents a replication study on which we analyze the stream usage of 610 Java projects. Our findings show that the Java streams are used mostly by software libraries rather than regular applications. Developers rarely use parallel processing, and when they do so, they only superficially use parallelism features and most of the parallel streams are used on simple for Each operations. The most common used pipelines involve map, filter and collect operations. We carefully describe a number of stream idioms we identified, and detail how we addressed the challenges we faced to complete our study. Our findings will help developers at (i) making better decisions about which features to consider when improving the API and (ii) supporting stream-related IDEs features, such as refactoring.
dc.fechaingreso.objetodigital2024-12-18
dc.fuente.origenORCID
dc.identifier.doi10.1007/978-3-030-87007-2_23
dc.identifier.urihttp://doi.org/10.5867/10.1007/978-3-030-87007-2_23
dc.identifier.urihttps://repositorio.uc.cl/handle/11534/86131
dc.identifier.wosidWOS:000722429500023
dc.information.autorucEscuela de Ingeniería; Sandoval Alcocer, Juan Pablo; S/I; 1210748
dc.language.isoen
dc.nota.accesocontenido parcial
dc.relation.ispartof21st International Conference on Computational Science and Its Applications (ICCSA)
dc.rightsacceso restringido
dc.subjectSoftware Quality
dc.subjectSoftware Maintenance
dc.subjectJava Streams
dc.subject.ddc000
dc.subject.deweyCiencias de la computaciónes_ES
dc.titleHow Do Developers Use the Java Stream API
dc.typecomunicación de congreso
sipa.codpersvinculados1210748
sipa.trazabilidadORCID;2024-05-27
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
How do developers use the java stream API.pdf
Size:
2.9 KB
Format:
Adobe Portable Document Format
Description: