A Type System for Detecting Non-Terminating Stream Operations with Java Stream API

DOI Web Site Open Access
  • HASEGAWA Kenta
    Graduate School of Information Science and Engineering, Ritsumeikan University
  • KUWABARA Hiroaki
    Center for Information and Communication Technology, Nanzan University
  • KUNIEDA Yoshitoshi
    College of Information Science and Engineering, Ritsumeikan University

Bibliographic Information

Other Title
  • Java Stream APIによるストリーム操作の停止性検査のための型システム
  • Java Stream API ニ ヨル ストリーム ソウサ ノ テイシセイ ケンサ ノ タメ ノ カタ システム

Search this article

Description

<p>In this paper, we propose a type system to detect non-terminating stream operations in Java programs using Stream API. Java Stream API makes it possible to write programs processing data collections in a declarative manner. Although Java Stream API has many stream operations and these operations are able to be applied to both finite and infinite streams, some operations on an infinite stream do not or may not terminate. Our proposed type system can detect these non-terminating operations. We prove the soundness of our type system and implement a type checker based on our type system with Checker Framework.</p>

Journal

  • Computer Software

    Computer Software 37 (2), 2_59-2_75, 2020-04-23

    Japan Society for Software Science and Technology

Related Projects

See more

Details 詳細情報について

Report a problem

Back to top