Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Xingyuan Zhang is active.

Publication


Featured researches published by Xingyuan Zhang.


international conference on software maintenance | 2002

A post-placement side-effect removal algorithm

Mark Harman; Lin Hu; Robert M. Hierons; Malcolm Munro; Xingyuan Zhang; José Javier Dolado; Mari Carmen Otero; Joachim Wegener

Side-effects are widely believed to impede program comprehension and have a detrimental effect upon software maintenance. This paper introduces an algorithm for side-effect removal which splits the side-effects into their pure expression meaning and their state-changing meaning. Symbolic execution is used to determine the expression meaning, while transformation is used to place the state-changing part in a suitable location in a transformed version of the program. This creates a program which is semantically equivalent to the original but guaranteed to be free from side-effects. The paper also reports the results of an empirical study which demonstrates that the application of the algorithm causes a significant improvement in program comprehension.


automated software engineering | 2004

Syntax-Directed Amorphous Slicing

Mark Harman; Lin Hu; Malcolm Munro; Xingyuan Zhang; David W. Binkley; Sebastian Danicic; Mohammed Daoudi; Lahcen Ouarbya

An amorphous slice of a program is constructed with respect to a set of variables. The amorphous slice is an executable program which preserves the behaviour of the original on the variables of interest. Unlike syntax-preserving slices, amorphous slices need not preserve a projection of the syntax of a program. This makes the task of amorphous slice construction harder, but it also often makes the result thinner and thereby preferable in applications where syntax preservation is unimportant. This paper describes an approach to the construction of amorphous slices which is based on the Abstract Syntax Tree of the program to be sliced, and does not require the construction of control flow graphs nor of program dependence graphs. The approach has some strengths and weaknesses which the paper discusses. The amorphous slicer, is part of the GUSTT slicing system, which includes syntax preserving static and conditioned slicers, a side effect removal transformation phase, slicing criterion guidance and for which much of the correctness proofs for transformation steps are mechanically verified. The system handles a subset of WSL, into which more general WSL constructs can be transformed. The paper focuses upon the way in which the GUSTT System uses dependence reduction transformation tactics. Such dependence reduction is at the heart of all approaches to amorphous slicing. The algorithms used are described and their performance is assessed with a simple empirical study of best and worst case execution times for an implementation built on top of the FermaT transformation system for maintenance and re-engineering.


working conference on reverse engineering | 2001

GUSTT: an amorphous slicing system which combines slicing and transformation

Mark Harman; Lin Hu; Malcolm Munro; Xingyuan Zhang

The paper presents a system for amorphous program slicing which combines slicing and transformation to achieve thinner slices than are possible using conventional syntax-preserving slicing. The approach involves the validation of the transformation and slicing steps using the Coq proof assistant, thereby guaranteeing the correctness of the amorphous slices produced. The combined application of slicing and transformation is illustrated with a simple case study. Several components of the system implement transformation tactics, such as side-effect removal and dependence reduction transformations which have wider applications than the construction of amorphous slices.


theorem proving in higher order logics | 2002

Weakest Precondition for General Recursive Programs Formalized in Coq

Xingyuan Zhang; Malcolm Munro; Mark Harman; Lin Hu

This paper describes a formalization of the weakest precondition, wp, for general recursive programs using the type-theoretical proof assistant Coq. The formalization is a deep embedding using the computational power intrinsic to type theory. Since Coq accepts only structural recursive functions, the computational embedding of general recursive programs is non-trivial. To justify the embedding, an operational semantics is defined and the equivalence between wp and the operational semantics is proved. Three major healthiness conditions, namely: Strictness, Monotonicity and Conjunctivity are proved as well.


source code analysis and manipulation | 2002

Mechanized operational semantics of WSL

Xingyuan Zhang; Malcolm Munro; Mark Harman; Lin Hu

This paper presents an experiment on computer assisted formal verification of program transformations. The operational semantics of WSL is formalized in the type theoretical proof assistant Coq, which forms the basis on which the correctness of program transformations can be stated and proved as formulae in Coq. A group of program transformations frequently used for software maintenance have been proved correct. The existence of a machine checked formal verification increases significantly the confidence in the correctness of program transformations, which is crucial for the reliability of software maintenance systems.


source code analysis and manipulation | 2002

An interprocedural amorphous slicer for WSL

Mark Harman; Lin Hu; Malcolm Munro; Xingyuan Zhang; Sebastian Danicic; Mohammed Daoudi; Lahcen Ouarbya

This paper presents a simple interprocedural algorithm for amorphous slicing and illustrates the way in which interprocedural amorphous slicing improves upon interprocedural syntax-preserving slicing. The paper also presents results from an empirical study of tin implementation of this algorithm for Wards Wide Spectrum Language, WSL. The implementation uses the FermaT transformation workbench. It combines FermaT transformations with the results produced by a syntax-preserving slicer for WSL. Finally, it is shown that the combination of amorphous slicing and conditioned slicing ran be particularly attractive, by combining results from the amorphous slicer with results from a prototype conditioned slicer for WSL.


international conference on communication technology | 2003

Formal verification of communication protocol using type theory

Xingyuan Zhang; Xiren Xie; Malcolm Munro; Mark Harman; Lin Hu

In this paper, an approach is proposed to verify communication protocol using the type theoretical proof assistant Coq. Compared with existing methods of protocol verification, this approach is based directly on the simple notion of event trace. Without the burden of embedding external concurrent languages such as process algebra, finite state machine, temporal logic, etc., this approach leads to very efficient reasoning. The approach is deliberately designed to exploit the computational mechanism intrinsic to type theory so that many cases can be proved automatically by computation. Because of these advantages, even non-trivial protocols can be verified within reasonable cost. This paper shows that both safeness and liveness can be formalized and verified using only finite event traces. A simplified version of the sliding window protocol is used to illustrate the approach. All the results presented in this paper have been mechanically checked in Coq. The relevant Coq scripts are accessible through Internet.


Information & Software Technology | 2002

Source code analysis and manipulation

Mark Harman; Malcolm Munro; Lin Hu; Xingyuan Zhang

The special section contains nine papers which are extended versions of papers originally published in the proceedings of the IEEE workshop on Source Code Analysis and Manipulation (SCAM 2001). The papers cover the spectrum of analysis and manipulation work from traditional transformation application areas concerned with optimisation through to more novel application areas such as transformation for evolution of websites; they cover the use of linguistic source code aspects which arise from the semantics of the language to more ephemeral, yet higher level domain-related information. The special issue brings together work on algorithms, tools, empirical results and novel approaches to source code analysis and manipulation. There are five papers on analysis and four on manipulation in this special issue. The next two sections describe the papers on analysis and manipulation respectively.


workshop on program comprehension | 2001

Side-effect removal transformation

Mark Harman; Malcolm Munro; Lin Hu; Xingyuan Zhang


Beijing University of Posts and Telecommunications Press | 2003

International Conference on Communications Technology (ICCT 2003)

Xingyuan Zhang; Malcolm Munro; Mark Harman; Lin Hu

Collaboration


Dive into the Xingyuan Zhang's collaboration.

Top Co-Authors

Avatar

Lin Hu

King's College London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Mark Harman

University College London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

David W. Binkley

Loyola University Maryland

View shared research outputs
Top Co-Authors

Avatar

José Javier Dolado

University of the Basque Country

View shared research outputs
Top Co-Authors

Avatar

Mari Carmen Otero

University of the Basque Country

View shared research outputs
Researchain Logo
Decentralizing Knowledge