IDENTIFICATION OF SOFTWARE SYSTEM COMPONENTS USING SEMANTIC MODELS AND GRAPH SLICING

Mark Mckenna, Jacob Slonim, Michael McAllister, Kelly Lyons

2009

Abstract

We present an implementation of part of a process for automatically decomposing a legacy software system into a loosely coupled components. The Relationship Modelling Framework (RMF) coupled with the appropriate components can generate and maintain a semantic model of a software system that shows at various levels of abstraction the elements that make up a software system such as source code entities, database tables, and the relationships between these elements. We introduce graph slicing, derived from program slicing, that can assist architects by identifying dependencies of selected elements. IBM provided independent preliminary validation of the model generation process' performance and the accuracy of the graph slicing by applying the results to one of their real-world software suites.

References

  1. Bass, L., Clements, P., and Kazman, R. (2003). Software Architecture in Practice. Addison-Wesley, Boston, MA, 2 edition.
  2. Bauer, M. and Trifu, M. (2004). Architecture-Aware Adaptive Clustering of OO Systems. In CSMR'04: Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering, page 3, Washington, DC, USA. IEEE Computer Society.
  3. Beck, J. and Eichmann, D. (1993). Program and Interface Slicing For Reverse Engineering. In ICSE 7893: Proceedings of the 15th international conference on Software Engineering, pages 509-518, Los Alamitos, CA, USA. IEEE Computer Society Press.
  4. 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.
  5. Egyed, A. and Medvidovic, N. (2000). A Formal Approach to Heterogeneous Software Modelling. Technical report, University of Southern California.
  6. 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.
  7. G. Balakrishnan and R. Gruian and T. Reps and T. Teitelbaum (2005). CodeSurfer/x86 - A Platform for Analyzing x86 Executables, (tool demonstration paper). In Proc. Int. Conf. on Compiler Construction. Springer-Verlag.
  8. GrammaTech, Inc. (2007). Products: CodeSurfer. http://www.grammatech.com/products /codesurfer/overview.html.
  9. Group, R. C. W. (2007). Resource Description Framework (RDF). Web page. http://www.w3.org/RDF/.
  10. Lehman, M. M. (1996). Laws of Software Evolution Revisited. In EWSPT 7896: Proceedings of the 5th European Workshop on Software Process Technology, pages 108-124, London, UK. Springer-Verlag.
  11. Lung, C.-H., Xu, X., and Zaman, M. (2005a). Software Architecture Decomposition Using Attributes. International Journal of Software Engineering and Knowledge Engineering, Special Issue on Selected Papers from ICSEKE 2005.
  12. Lung, C.-H., Zaman, M., and Goel, N. (2005b). Reflection on Software Architecture Practices - What Works, What Remains to Be Seen, and What Are the Gaps. WICSA, 0:221-222.
  13. Lyle, D. J. R. and Wallace, D. R. (2007). ravel Program Slicing Tool. Web http://hissa.nist.gov/project/unravel.html.
  14. Marciniak, J. J., editor (1994). Encyclopedia of Software Engineering, volume 1, pages 382-394. John Wiley and Sons, Inc., 605 Third Avenue, New York, NY 10158-0012.
  15. Mitchell, B. S. and Mancoridis, S. (2002). Using Heuristic Search Techniques to Extract Design Abstractions from Source Code. In 6th Annual Genetic and Evolutionary Compting Conference (GECCOS02), pages 1375-1382.
  16. Mü ller, 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.
  17. Ning, J., Engberts, A., and Kozaczynski, W. (1993). Recovering Reusable Components From Legacy Systems By Program Segmentation. In Proceedings of Working Conference on Reverse Engineering, pages 64-72.
  18. Sun Microsystems (2007). Java EE At a Glance. Web page. http://java.sun.com/javaee/index.jsp.
  19. Weiser, M. (1981). Program Slicing. In Proceedings of the 5th Interational Conference on Software Engineering, pages 439-449, New York. IEEE.
Download


Paper Citation


in Harvard Style

Mckenna M., Slonim J., McAllister M. and Lyons K. (2009). IDENTIFICATION OF SOFTWARE SYSTEM COMPONENTS USING SEMANTIC MODELS AND GRAPH SLICING . In Proceedings of the 4th International Conference on Software and Data Technologies - Volume 2: ICSOFT, ISBN 978-989-674-010-8, pages 5-12. DOI: 10.5220/0002219700050012


in Bibtex Style

@conference{icsoft09,
author={Mark Mckenna and Jacob Slonim and Michael McAllister and Kelly Lyons},
title={IDENTIFICATION OF SOFTWARE SYSTEM COMPONENTS USING SEMANTIC MODELS AND GRAPH SLICING},
booktitle={Proceedings of the 4th International Conference on Software and Data Technologies - Volume 2: ICSOFT,},
year={2009},
pages={5-12},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002219700050012},
isbn={978-989-674-010-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 4th International Conference on Software and Data Technologies - Volume 2: ICSOFT,
TI - IDENTIFICATION OF SOFTWARE SYSTEM COMPONENTS USING SEMANTIC MODELS AND GRAPH SLICING
SN - 978-989-674-010-8
AU - Mckenna M.
AU - Slonim J.
AU - McAllister M.
AU - Lyons K.
PY - 2009
SP - 5
EP - 12
DO - 10.5220/0002219700050012