Elegant Objects (EO) is a variation of the object-oriented programming paradigm that favors pure objects and decoration. EO programming language is based on these ideas and has been suggested by Bugayenko as an intermediate representation for object-oriented programs. This paper provides plausible representations in EO of some class-based constructions from Java, C++, and Python. We then reformulate the classical fragile base class problem in the context of these representations. Finally, we discuss an algorithm for detecting a subset of fragile base class patterns in EO programs. We show that using EO as an intermediate language is plausible and discuss possible improvements to the language to assist in richer static analysis.
翻译:Elegant 对象( EO) 是有利于纯对象和装饰的面向目标的编程模式的变异。 EO 编程语言基于这些想法,布加延科建议作为面向目标的节目的中间代表。 本文在EO中以合理的方式展示了来自爪哇、 C+++ 和 Python 的一些基于阶级的建筑。 然后我们根据这些表达方式重塑了传统的脆弱基本等级问题。 最后, 我们讨论一种算法, 以探测 EO 方案中的一组脆弱基本等级模式。 我们显示, 使用 EO 作为中间语言是可行的, 并讨论该语言的可能改进, 以协助更富的静态分析 。