## Identifying Syntactic Differences Between Two Programs (1991)

Venue: | Software - Practice and Experience |

Citations: | 80 - 0 self |

### BibTeX

@ARTICLE{Yang91identifyingsyntactic,

author = {Wuu Yang},

title = {Identifying Syntactic Differences Between Two Programs},

journal = {Software - Practice and Experience},

year = {1991},

volume = {21},

pages = {739--755}

}

### Years of Citing Articles

### OpenURL

### Abstract

this paper is organized into five sections, as follows. The internal form of a program, which is a variant of a parse tree, is discussed in the next section. Then the tree-matching algorithm and the synchronous pretty-printing technique are described. Experience with the comparator for the C language and some performance measurements are also presented. The last section discusses related work and concludes this paper

### Citations

1240 | The C Programming Language
- Kernighan, Ritchie
(Show Context)
Citation Context ...3 for the three pairs {N5, N17}, {Nl1, N20) and {N12, N22}. Now we have computed the W matrix. Next the dynamic programming scheme is applied to compute the M matrix. When the algorithm terminates, M =-=[4, 2]-=- is 6. Therefore, the number of pairs in a maximum matching is 7. In this example, there is only one maximum matching, which consists of the following seven pairs: {Nl, N15}, {N2, N16}, {N6, N18}, {N7... |

656 | The string-to-string correction problem - Wagner, Fischer - 1974 |

306 | Simple fast algorithms for the editing distance between trees and related problems - Shasha, Zhang |

270 | A linear space algorithm for computing maximal common subsequences - Hirschberg - 1975 |

212 | The tree-to-tree correction problem - Tai - 1979 |

176 | Algorithms for the longest common subsequence problem - Hirschberg - 1977 |

137 | M.J.: Pattern matching in trees - Hoffmann, O’Donnell - 1982 |

120 | The Synthesizer Generator - Reps, Teitelbaum - 1989 |

102 | The tree-to-tree editing problem - Selkow - 1977 |

97 | Identifying the semantic and textual differences between two versions of a program - Horwitz - 1990 |

74 | The string-to-string correction problem with block moves - Tichy - 1984 |

60 | A file comparison program - Miller, Myers - 1985 |

55 | Matching sequences under deletion/insertion constraints Proc Nat Acad Sct - SANKOFF - 1974 |

54 | The longest common subsequence problem revisited - Apostolico, Guerra - 1987 |

48 | Speeding Up Dynamic Programming with Applications to Molecular - Galil, Giancarlo - 1989 |

38 | A tree-to-tree distance and its application to cluster analysis - Lu |

28 | C: A Reference Manual - Harbison, Steele - 1984 |

28 | A Technique for Isolating Differences Between Files - Heckel - 1978 |

25 | A longest common subsequence algorithm suitable for similar text strings - Nakatsu, Kambayashi, et al. - 1982 |

20 | An algorithm for the distance between two finite sequences. Comb. Theory 16:253258 - Sellers - 1974 |

11 | Formatted programming languages - Rose, Welsh - 1981 |

8 |
Syntax-directed pretty printing—a first step towards a syntax-directed editor
- Rubin
- 1983
(Show Context)
Citation Context ...tween two trees is defined to be a set of pairs of nodes, one from each tree, such that (1) two nodes in a pair contain identical symbols, (2) a node can match at most one node in the other tree, and =-=(3) t-=-he parent–child relationship as well as the order between sibling nodes are respected. A maximum matching is a matching with the maximum number of pairs. In the Sequence_Matching algorithm, W [ i, j... |

5 | Managing multi-version programs with an - KRUSKAL - 1984 |

2 | Production trees: a compact representation of parsed programs - Waddle - 1990 |

2 | A specification schema for indenting programs - Mateti - 1983 |

2 | Formatted syntaxes and Modula-2 - Woodman - 1986 |