Detecting Unjustified Assumptions in Subclasses via Elegant Objects Representation

09/05/2022
by   Vitaliy Korbashov, et al.
0

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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset