Figure 5: The visualized target structure using Cluster
Analysis Method
We find it is not convenient to create fully
automatic tools; we believe it is better to develop
user-driven tools. Our tool offers an improved and
more flexible user interface. To improve the final
result we can visualize the source structure (figure
1), three intermediate structures and the target
structure (figures 2a, 4 and 5). We consider
graphical visualizations an important aid to support
the processes of program understanding and re-
structuring.
5 EVALUATION TECHNIQUES
Now that a lot of approaches to software re-
structuring exist, the validation of produced target
structures is starting to interest the researchers.
Recently, researchers have begun developing an
infrastructure to evaluate clustering techniques, in a
semi-formal way by proposing similarity
measurements (Rainer Koschke et al., 2001),
(Mancoridis et al., 2001), (B. S. Mitchell et al.
2002). These measurements enable the results of
clustering algorithms to be compared to each other,
and preferably to be compared to reference structure
agreed upon (“benchmark” standard). We emphasize
that the reference structure need not be the optimal
solution in a theoretical sense. Rather, it is a solution
that is perceived as being “good enough”.
There are a lot of similarity measurements for this
purpose: Anquetil (Mancoridis et al., 2001) has
published a similarity measurement technique,
named “Precision and Recall”; Mojo has developed
a technique that measures the distance between two
decompositions of a software system by calculating
the number of operations needed to transform a
decomposition to an other; Tzerpos and Holt
introduce also a distance quality measurement based
on MoJo; Koschke and Eisenbarth (Rainer Koschke
et al., 2000) have developed a framework for
experimental evaluation of clustering techniques that
we have used in our case study (figure 2). We have
evaluated our algorithm on several small size
systems (where N≤20) with similar success to the
one demonstrated in figure 2. In the future, we
intend to conduct further validation of our technique
using other systems.
6 CONCLUSIONS
It is widely known that more than 50% of the costs
of a software system have to be attributed to
maintenance. There is an urgent need for methods
and tools which assist software understanding and
software restructuring, reducing the maintenance
costs.
In the paper our Architecture-Based Framework
(ABFST) for software re-structuring is briefly
described. ABFST puts a strong emphasis on
software architecture. We would like to point out
that having a framework like ABFST can help
practitioners by giving them guidance in performing
an architecture re-structuring. In addition, ABFST
can help researchers by providing a unified approach
to re-structuring, with consistent terminology and a
basis for improving, refining, quantifying, and
comparing re-structuring processes.
Next the paper describes our ever evolving tool as
an implementation of ABFST and marks some new
features. The paper demonstrates how the source
structure of a software system can be effectively re-
structured and understood using our tool (figure 2).
In the future, we plan to conduct and document more
intensive studies to demonstrate the effectiveness
and the limitations we find in the tool version. We
hope to further improve both its performance adding
new heuristics and its visualization futures.
ACKNOWLEDGEMENTS
This work is supported by a project in Technical
University of Varna, untitled “Software Intensive
Systems Research”, with number 481 /2008.
REFERENCES
A. van Deursen, C. Hofmeister, R. Koschke, L. Moonen,
and C. Riva. Symphony: View-driven software
architecture reconstruction, Proceedings of the Fourth
Working IEEE/IFIP Conference on Software
Architecture, Washington, 2004.
ICSOFT 2008 - International Conference on Software and Data Technologies
272