CPP Denotational Semantics and its Application to Software Maintenance, Jean-Marie Favre
@InProceedings{ favre:cpp,
author = {Jean-Marie Favre},
title = {CPP Denotational Semantics and its Application to Software
Maintenance},
booktitle = {1st European Conference on Software Maintenance and
Reengineering 97},
month = mar,
year = {1997},
publisher = {IEEE Computer Society Press},
abstract = {Very often, portability of large software products is
achieved via the empirical use of old tools like CPP, the
preprocessor of the C language. Though powerful low level
features like conditional compilation cause serious
maintenance problems. There is a lack of adequate tools to
support such activities. This paper presents our approach
to this problem. We introduce APP, an abstract language
semantically equivalent to CPP but based on traditional
programming-in-the-small concepts. A rigorous description
of the semantics of this language makes it possible to
develop reliable reverse engineering tools. },
class = {Software_Reverse_Engineering, Reverse_Design,
Configuration_Structures}
}
Improved Maintenance Support by Multi-Version Visualizations, Bjorn Gulla
@InProceedings{ gulla:improved,
author = {Bjorn Gulla},
title = {Improved Maintenance Support by Multi-Version
Visualizations},
pages = {376-383},
booktitle = {Proceedings of the International Conference on Software
Maintenance ~1992},
year = {1992},
publisher = {IEEE Computer Society Press},
month = nov,
abstract = {Software repositories are becoming increasingly more
popular. Multiple versions of software components and
systems and associated information are stored and managed.
Such integrated systems aim for supporting the whole life
cycle, including specification, design, development and
maintenance.
However, current systems exhibit only limited support for
software maintenance tasks. The main problem is the lack of
powerful and easily accessible user facilities. In this
paper we propose a set of visualization techniques intended
to improve the support for maintenance of large software
systems. The novel contribution is the active use of
version information. We will use the term multi-version
visualization, since visual representation containing
information aggregated from several versions of the
software are computed.},
class = {Software_Reverse_Engineering, Reverse_Design,
Configuration_Structures}
}
On the inference of configuration structures from source code, M. Krone and G. Snelting
@InProceedings{ krone.snelting:on,
author = {M. Krone and G. Snelting},
title = {On the inference of configuration structures from source
code},
pages = {49--58},
booktitle = {Proceedings of the 16th International Conference on
Software Engineering },
year = {1994},
publisher = {IEEE Computer Society Press},
month = may,
abstract = {The authors apply mathematical concept analysis to the
problem of infering configuration structures from existing
source code. Concept analysis has been developed by German
mathematicans over the last years; it can be seen as a
discrete analogon to Fourier analysis. Based on this
theory, the authors' tool will accept source code, where
configuration-specific statements are controlled by the
preprocessor. The algorithm will compute a so-called
concept lattice, which - when visually displayed - allows
remarkable insight into the structure and properties of
possible configurations. The lattice not only displays
fine-grained dependencies between configuration threads,
but also visualizes the overall quality of configuration
structures according to software engineering principles.
The paper presents a short introduction to concept
analysis, as well as experimental results on various
programs. },
key = {Concept Analysis},
class = {Software_Reverse_Engineering, Reverse_Design,
Configuration_Structures}
}
Reengineering of configurations based on mathematical concept analysis, G. Snelting
@Article{ snelting:reengineering,
author = {G. Snelting},
title = {Reengineering of configurations based on mathematical
concept analysis},
journal = {ACM Transactions on Software Engineering and Methodology},
year = {1986},
volume = {5},
number = {2},
pages = {146-189},
month = {April},
key = {Concept Analysis},
class = {Configuration_Structures Software_Reverse_Engineering
Reverse_Design }
}