Pith. sign in

REVIEW 1 cited by

Kayak: Safe Semantic Refactoring to Java Streams

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 1712.07388 v1 pith:JFY35NU6 submitted 2017-12-20 cs.PL

classification cs.PL
keywords refactoringrefactoringsjavaautomaticcodekayaksemanticsemantics-driven
verification ladder T0 review T1 audit T2 compute T3 formal
0 comments
read the original abstract

Refactorings are structured changes to existing software that leave its externally observable behaviour unchanged. Their intent is to improve readability, performance or other non-behavioural properties. State-of-the-art automatic refactoring tools are syntax-driven and, therefore, overly conservative. In this paper we explore semantics-driven refactoring, which enables much more sophisticated refactoring schemata. As an exemplar of this broader idea, we present Kayak, an automatic refactoring tool that transforms Java with external iteration over collections into code that uses Streams, a new abstraction introduced by Java 8. Our refactoring procedure performs semantic reasoning and search in the space of possible refactorings using automated program synthesis. Our experimental results support the conjecture that semantics-driven refactorings are more precise and are able to rewrite more complex code scenarios when compared to syntax-driven refactorings.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. Quantifying the benefits of code hints for refactoring deprecated Java APIs

    cs.SE 2024-12 conditional novelty 6.0 of 10

    Automated refactoring of deprecated Java APIs succeeds 71 to 82 percent of the time when Javadoc contains code hints, and at most 14 percent without them.

Pith tools