Improving System Understanding via Interactive, Tailorable, Source Code Analysis. (bibtex)
by Vladimir Jakobac, Alexander Egyed, Nenad Medvidovic
Abstract:
In situations in which developers are not familiar with a system or its documentation is inadequate, the system's source code becomes the only reliable source of information. Unfortunately, source code has much more detail than is needed to understand the system, and it disperses or obscures high-level constructs that would ease the system's understanding. Automated tools can aid system understanding by identifying recurring program features, classifying the system modules based on their purpose and usage patterns, and analyzing dependencies across the modules. This paper presents an iterative, user-guided approach to program understanding based on a framework for analyzing and visualizing software systems. The framework is built around a pluggable and extensible set of clues about a given problem domain, execution environment, and/or programming language. We evaluate our approach by providing the analysis of our tool's results obtained from several case studies.
Reference:
Improving System Understanding via Interactive, Tailorable, Source Code Analysis. (Vladimir Jakobac, Alexander Egyed, Nenad Medvidovic), In Proceedings of the 8th International Conference on Fundamental Approaches to Software Engineering (FASE), Edinburgh, Scotland (Maura Cerioli, ed.), Springer, volume 3442, 2005.
Bibtex Entry:
@Conference{DBLP:conf/fase/JakobacEM05,
  author    = {Vladimir Jakobac and Alexander Egyed and Nenad Medvidovic},
  title     = {Improving System Understanding via Interactive, Tailorable, Source Code Analysis.},
  booktitle = {Proceedings of the 8th International Conference on Fundamental Approaches to Software Engineering (FASE), Edinburgh, Scotland},
  year      = {2005},
  editor    = {Maura Cerioli},
  volume    = {3442},
  series    = {Lecture Notes in Computer Science},
  pages     = {253-268},
  publisher = {Springer},
  abstract  = {In situations in which developers are not familiar with a system or
	its documentation is inadequate, the system's source code becomes
	the only reliable source of information. Unfortunately, source code
	has much more detail than is needed to understand the system, and
	it disperses or obscures high-level constructs that would ease the
	system's understanding. Automated tools can aid system understanding
	by identifying recurring program features, classifying the system
	modules based on their purpose and usage patterns, and analyzing
	dependencies across the modules. This paper presents an iterative,
	user-guided approach to program understanding based on a framework
	for analyzing and visualizing software systems. The framework is
	built around a pluggable and extensible set of clues about a given
	problem domain, execution environment, and/or programming language.
	We evaluate our approach by providing the analysis of our tool's
	results obtained from several case studies.},
  doi       = {10.1007/978-3-540-31984-9_19},
  file      = {:Conferences\\FASE 2005 - Improving System Understanding via Interactive, Tailorable Source Code Analysis\\Improving System Understanding via  Interactive, Tailorable Source Code Analysis-preprint.pdf:PDF},
  keywords  = {},
}
Powered by bibtexbrowser