Demo Data from EDBT 2026 / reviewers in the wild / expert
Cun Xiao
dblp:x/CunXiao
· DBLP profile ↗
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
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › dynamic optimization
adaptive compilation |
0.0 | 1 | 1995 | Efficient Implementation of Adaptive Software · ACM Trans. Program. Lang. Syst. 1995 |
Compilers and program optimization
program transformation |
0.0 | 1 | 1995 | Efficient Implementation of Adaptive Software · ACM Trans. Program. Lang. Syst. 1995 |
Data models and query languages
object-oriented data model |
0.0 | 1 | 1993 | Formal Foundations for Object-Oriented Data Modeling · IEEE Trans. Knowl. Data Eng. 1993 |
Programming languages and type systems
language design |
0.0 | 1 | 1993 | Object-Oriented Software Evolution · IEEE Trans. Software Eng. 1993 |
Software maintenance and evolution
software evolution |
0.0 | 1 | 1993 | 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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 1995 | Efficient Implementation of Adaptive SoftwareabstractAdaptive 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 TransformationsabstractAbstract 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 ModelingabstractClass 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 EvolutionabstractThe 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 |