Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Cun Xiao

dblp:x/CunXiao · DBLP profile ↗
← Back
4ranked-venue papers
0as first author
0since 2021 · last 1995
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 2Databases, data management, data science and information retrieval · 1Theory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 44% Programming languages and type systems · 39% Software maintenance and evolution · 17%
Databases, data mining, and information retrieval
1 paper
Data models and query languages · 100%

Topics — the 5 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › dynamic optimization
adaptive compilation
0.011995
Efficient Implementation of Adaptive Software · ACM Trans. Program. Lang. Syst. 1995
Compilers and program optimization
program transformation
0.011995
Efficient Implementation of Adaptive Software · ACM Trans. Program. Lang. Syst. 1995
Data models and query languages
object-oriented data model
0.011993
Formal Foundations for Object-Oriented Data Modeling · IEEE Trans. Knowl. Data Eng. 1993
Programming languages and type systems
language design
0.011993
Object-Oriented Software Evolution · IEEE Trans. Software Eng. 1993
Software maintenance and evolution
software evolution
0.011993
Object-Oriented Software Evolution · IEEE Trans. Software Eng. 1993

Methods — techniques the papers use, named apart from their topics

proof system for consistency · 0.0correctness proof · 0.0formal calculus · 0.0axiomatic definition · 0.0
YearPublicationVenuePosition
1995 Efficient Implementation of Adaptive Software
abstract
Adaptive programs compute with objects, just like object-oriented programs. Each task to be accomplished is specified by a so-called propagation pattern which traverses the receiver object. The object traversal is a recursive descent via the instance variables where information is collected or propagated along the way. A propagation pattern consists of (1) a name for the task, (2) a succinct specification of the parts of the receiver object that should be traversed, and (3) code fragments to be executed when specific object types are encountered. The propagation patterns need to be complemented by a class graph which defines the detailed object structure. The separation of structure and behavior yields a degree of flexibility and understandability not present in traditional object-oriented languages. For example, the class graph can be changed without changing the adaptive program at all. We present an efficient implementation of adaptive programs. Given an adaptive program and a class graph, we generate an efficient object-oriented program, for example, in C++. Moreover, we prove the correctness of the core of this translation. A key assumption in the theorem is that the traversal specifications are consistent with the class graph. We prove the soundness of a proof system for conservatively checking consistency, and we show how to implement it efficiently.
Jens Palsberg, Cun Xiao, Karl J. Lieberherr
ACM Trans. Program. Lang. Syst.2
1994 Object-Extending Class Transformations
abstract
Abstract Reorganisation and evolution of class hierarchies is important for object-oriented system development and has received considerable attention in the literature. The contributions of this paper are: (1) a formal study of a set of extension relations and transformations on class hierarchies; (2) a presentation of a small set of primitive transformations which form a minimal and complete basis for the extension relations; and (3) an analysis of the impact of these transformations at the object level. The study leads to a better understanding of evolution and reuse of object-oriented software and class hierarchies. It also provides a terminology and a means of classification for design reuse. The theory presented in this paper is based on the Demeter data model, which gives a concise mathematical foundation for classes and their inheritance and part-of relationships. Parts of the theory have been implemented in the Demeter System TM C++, a CASE tool for object-oriented design and programming.
Karl J. Lieberherr, Walter L. Hürsch, Cun Xiao
Formal Aspects Comput.3
1993 Formal Foundations for Object-Oriented Data Modeling
abstract
Class dictionary graphs, axiomatic definitions of basic structures used by object-oriented designers and programmers during the software development process, are discussed. An axiomatic foundation for object-oriented data modeling and efficient algorithms for checking whether a given data model satisfies the axioms are presented. The data model is the foundation for a number of techniques for developing object-oriented systems, including adaptive software, schema abstraction from object examples, schema optimization, planning techniques for system development, and the Law of Demeter, among others.>
Karl J. Lieberherr, Cun Xiao
IEEE Trans. Knowl. Data Eng.2
1993 Object-Oriented Software Evolution
abstract
The authors review propagation patterns for describing object-oriented software at a higher level of abstraction than one used by today's programming languages. A propagation pattern defines a family of programs from which one can select a member by giving a class dictionary graph that details the structure of behavior through part-of and inheritance relationships between classes. Three concepts are introduced: evolution histories, growth-plans and a propagation-directive calculus. Evolution histories describe a sequence of development phases of an object-oriented program, each phase being executable and therefore testable. To keep the programs flexible and short, they are described in terms of propagation patterns. Each phase of an evolution history is tested in small steps that are constrained by class dictionary graphs belonging to a growth-plan. Propagation directives are useful for describing both propagation patterns and growth-plans and are therefore endowed with sufficient expressiveness by being given a formal calculus applicable to object-oriented programming in general. A propagation directive is a succinct description of a family of submodels for a given family of data models.>
Karl J. Lieberherr, Cun Xiao
IEEE Trans. Software Eng.2