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

page 1

page 2

page 3

page 4

research
09/05/2022

Detecting unanticipated mutual recursion using Elegant Objects representation of object-oriented programs

Elegant Objects (EO) is a variation of the object-oriented programming p...
research
07/27/2021

Papaya: Global Typestate Analysis of Aliased Objects Extended Version

Typestates are state machines used in object-oriented programming to spe...
research
01/09/2020

Lazy object copy as a platform for population-based probabilistic programming

This work considers dynamic memory management for population-based proba...
research
05/26/2020

Understanding Lua's Garbage Collection – Towards a Formalized Static Analyzer

We provide the semantics of garbage collection (GC) for the Lua programm...
research
02/06/2018

Code Reuse With Transformation Objects

We present an approach for a lightweight datatype-generic programming in...
research
06/02/2022

A Constraint and Object Oriented Fifth Generation Programming Language and its Compiler and Runtime System

Since the advent of LISP, the fifth generation programming language has ...
research
05/19/2020

Choreographies as Objects

We present Choral, the first framework for programming choreographies (m...

Please sign up or login with your details

Forgot password? Click here to reset