Detecting Unjustified Assumptions in Subclasses via Elegant Objects Representation
Vitaliy Korbashov, Nikolai Kudasov, Mikhail Olokin, Violetta Sim

TL;DR
This paper introduces a method to detect unjustified assumptions in decorator objects within Elegant Objects, a programming language based on pure objects, using method inlining and property inference, with a prototype in Scala.
Contribution
It formulates the problem of unjustified assumptions in EO decorators and proposes a detection approach, extending the analysis techniques to this language.
Findings
Detected unjustified assumptions in EO programs
Implemented prototype detection tool in Scala
Demonstrated effectiveness on sample EO programs
Abstract
Elegant Objects (EO) is a programming language based on ideas of pure objects and the Decorator pattern. Bugayenko has suggested it as an intermediate representation for object-oriented programs. This paper presents a version of dynamic dispatch modelled in EO and formulates a problem of unjustified assumptions in decorator objects, which parallels similar problem in subclasses. Then, we introduce an approach to detect such problems in EO programs via method inlining and limited property inference. Finally, we discuss prototype implementation of this approach in Scala programming language.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · AI-based Problem Solving and Planning · Advanced Database Systems and Queries
