Software system documentation is almost always expressed informally, in natural language and free text. Examples include requirement specifications, design documents, manual pages...
Giuliano Antoniol, Gerardo Canfora, Andrea De Luci...
As valuable software systems get old, reverse engineering becomes more and more important to the companies that have to maintain the code. Clustering is a key activity in reverse ...
As a program evolves, it becomes increasingly difficult to understand and reason about changes in the source code. Eventually, if enough changes are made, reverse engineering and ...
Several techniques have been suggested for supporting reverse engineering and design recovery activities. While many of these techniques have been cataloged in various collections...
Abstract. A well-known problem in program generation is scoping. When identifiers (i.e., symbolic names) are used to refer to variables, types, or functions, program generators mu...
Aspect-orientedprogramming provides theprogrammer with means to cross-cut conventional program structures, in particular the class hierarchies of object-oriented programming. This ...
We present a (the rst?) sound and relatively complete Hoare logic for a simple imperative programming language including mutually recursive procedures with call-by-value parameters...
Abstract. Hybrid knowledge bases (HKB’s) [11] were developed to provide formal models for the mediation of data and knowledge bases [14,15]. They are based on Generalized Annotat...
The λ-calculus has been much used to study the theory of substitution in logical systems and programming languages. However, with explicit substitutions, it is possible to get fi...