We expect that further study of the utility of a se-
mantic model for graph slicing will identify other ar-
eas where such a model would be valuable, such as
checking or maintaining artifact consistency, visual-
ization, software design, and software testing. During
our validations, IBM engineers have already identi-
fied a number of additional use cases to investigate for
the RMF architecture, such as documentation gener-
ation, customization support, defect location, and de-
veloper education.
ACKNOWLEDGEMENTS
The authors wish to thank Jen Hawkins, Darsh Khu-
sial, and Ross McKegney for their invaluable help and
insights into this research. The work in this paper was
supported by an IBM Centre for Advanced Studies
Fellowship and by funding from the Natural Sciences
and Engineering Council of Canada.
REFERENCES
Bass, L., Clements, P., and Kazman, R. (2003). Software
Architecture in Practice. Addison-Wesley, Boston,
MA, 2 edition.
Bauer, M. and Trifu, M. (2004). Architecture-Aware Adap-
tive Clustering of OO Systems. In CSMR’04: Pro-
ceedings of the Eighth Euromicro Working Conference
on Software Maintenance and Reengineering, page 3,
Washington, DC, USA. IEEE Computer Society.
Beck, J. and Eichmann, D. (1993). Program and Interface
Slicing For Reverse Engineering. In ICSE ’93: Pro-
ceedings of the 15th international conference on Soft-
ware Engineering, pages 509–518, Los Alamitos, CA,
USA. IEEE Computer Society Press.
Ceccato, M., Marin, M., Mens, K., Moonen, L., Tonella, P.,
and Tourwe, T. (2006). An Appying and Combining
Three Different Aspect Mining Techniques . Software
Quality Journal, 4(3):209–231.
Egyed, A. and Medvidovic, N. (2000). A Formal Approach
to Heterogeneous Software Modelling. Technical re-
port, University of Southern California.
Finnigan, P. J., Holt, R., Kalas, I., Kerr, S., Kontogiannis,
K., Muller, H., Mylopoulos, J., Perelgut, S., Stanley,
M., and Wong, K. (1997). The Software Bookshelf.
IBM Systems Journal, 36(4):564–593.
G. Balakrishnan and R. Gruian and T. Reps and T. Teit-
elbaum (2005). CodeSurfer/x86 – A Platform for
Analyzing x86 Executables, (tool demonstration pa-
per). In Proc. Int. Conf. on Compiler Construction.
Springer-Verlag.
GrammaTech, Inc. (2007). GrammaTech:
Products: CodeSurfer. Web page.
http://www.grammatech.com/products
/codesurfer/overview.html.
Group, R. C. W. (2007). Resource Description Framework
(RDF). Web page. http://www.w3.org/RDF/.
Lehman, M. M. (1996). Laws of Software Evolution Re-
visited. In EWSPT ’96: Proceedings of the 5th Eu-
ropean Workshop on Software Process Technology,
pages 108–124, London, UK. Springer-Verlag.
Lung, C.-H., Xu, X., and Zaman, M. (2005a). Software
Architecture Decomposition Using Attributes. Inter-
national Journal of Software Engineering and Knowl-
edge Engineering, Special Issue on Selected Papers
from ICSEKE 2005.
Lung, C.-H., Zaman, M., and Goel, N. (2005b). Reflec-
tion on Software Architecture Practices - What Works,
What Remains to Be Seen, and What Are the Gaps.
WICSA, 0:221–222.
Lyle, D. J. R. and Wallace, D. R. (2007). Un-
ravel Program Slicing Tool. Web page.
http://hissa.nist.gov/project/unravel.html.
Marciniak, J. J., editor (1994). Encyclopedia of Software
Engineering, volume 1, pages 382–394. John Wi-
ley and Sons, Inc., 605 Third Avenue, New York, NY
10158–0012.
Mitchell, B. S. and Mancoridis, S. (2002). Using Heuris-
tic Search Techniques to Extract Design Abstractions
from Source Code. In 6th Annual Genetic and Evo-
lutionary Compting Conference (GECCOS02), pages
1375–1382.
M
¨
uller, H. A., Tilley, S. R., Orgun, M. A., and Corrie,
B. D. (1992). A Reverse Engineering Environment
Based on Spatial and Visual Software Interconnection
Models. In Proceedings of the Fifth ACM SIGSOFT
Symposium on Software Development Environments,
pages 88–98.
Ning, J., Engberts, A., and Kozaczynski, W. (1993). Recov-
ering Reusable Components From Legacy Systems
By Program Segmentation. In Proceedings of Working
Conference on Reverse Engineering, pages 64–72.
Object Management Group (2006). Reference Model for
Service Oriented Architecture 1.0. Technical report,
Object Management Group.
Salter, A. (2001). Semantic Modelling and a Semantic Nor-
mal Form. Technical report, Staffordshire University,
School of Computing.
Schmitt, L. (2007). Glossary. Web page.
http://www.cbu.edu/ lschmitt/I351/glossary.htm.
Sun Microsystems (2007). Java EE At a Glance. Web page.
http://java.sun.com/javaee/index.jsp.
Weiser, M. (1981). Program Slicing. In Proceedings of the
5th Interational Conference on Software Engineering,
pages 439–449, New York. IEEE.
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
12