论文标题
使用面向对象的程序的优雅对象表示意外的相互递归
Detecting unanticipated mutual recursion using Elegant Objects representation of object-oriented programs
论文作者
论文摘要
优雅对象(EO)是面向对象的编程范式的变体,该范式有利于纯对象和装饰。 EO编程语言是基于这些想法的,Bugayenko已建议作为面向对象程序的中间表示。本文提供了Java,C ++和Python的某些基于类的构造的EO中的合理表示。然后,我们在这些表示形式的背景下重新制定了经典的脆弱基类问题。最后,我们讨论了用于检测EO程序中脆弱基类模式子集的算法。我们表明,将EO用作中间语言是合理的,并讨论了该语言的可能改进,以帮助进行更丰富的静态分析。
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.