Detecting Unjustified Assumptions in Subclasses via Elegant Objects Representation
Programming Languages
2022-10-17 v2
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.
Keywords
Cite
@article{arxiv.2209.01825,
title = {Detecting Unjustified Assumptions in Subclasses via Elegant Objects Representation},
author = {Vitaliy Korbashov and Nikolai Kudasov and Mikhail Olokin and Violetta Sim},
journal= {arXiv preprint arXiv:2209.01825},
year = {2022}
}