EMPIRICAL ASSESSMENT OF EXECUTION TRACE SEGMENTATION IN REVERSE-ENGINEERING

Philippe Dugerdil, Sebastien Jossi

2008

Abstract

Reverse-engineering methods using dynamic techniques rests on the post-mortem analysis of the execution trace of the programs. However, one key problem is to cope with the amount of data to process. In fact, such a file could contain hundreds of thousands of events. To cope with this data volume, we recently developed a trace segmentation technique. This lets us compute the correlation between classes and identify cluster of closely correlated classes. However, no systematic study of the quality of the clusters has been conducted so far. In this paper we present a quantitative study of the performance of our technique with respect to the chosen parameters of the method. We then highlight the need for a benchmark and present the framework for the study. Then we discuss the matching metrics and present the results we obtained on the analysis of two very large execution traces. Finally we define a clustering quality metrics to identify the parameters providing the best results.

References

  1. Andritsos P., Tzerpos V., 2003 - Software Clustering based on Information Loss Minimization. Proc. IEEE Working Conference on Reverse engineering.
  2. Andritsos P., Tzerpos V., 2005 - Information Theoretic Software Clustering. IEEE Trans. on Software Engineering 31(2).
  3. Bass L., Clements P., Kazman R.,2003 - Software Architecture in Practice, 2nd edition. Addison-Wesley Inc..
  4. Bergey J., Smith D., Tilley S., Weiderman N., Woods S., 1999 - Why Reengineering Projects Fail. Software Engineering Institute, Tech Report CMU/SEI-99-TR010.
  5. Biggerstaff T. J., Mitbander B.G., Webster D.E., 1994. Program Understanding and the Concept Assignment Problem. Communications of the ACM, CACM 37(5).
  6. Chan A., Holmes R., Murphy G.C., Ying A.T.T. , 2003 - Scaling an Object-oriented System Execution Visualizer through Sampling. Proc. of the 11th IEEE International Workshop on Program Comprehension (ICPC'03),.
  7. Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford, 2002 - Documenting Software Architectures: Views and Beyond. Addison-Wesley Professional.
  8. Dugerdil Ph. - 2006 - A Reengineering Process Based on the Unified Process. Proc. IEEE Int Conf. on software Maintenance (ICSM'06).
  9. Dugerdil Ph., Jossi S., 2007a- Role based clustering of software modules: an industrial experiment. Proc. ICSOFT 2007, Barcelona.
  10. Dugerdil Ph., 2007b - Using trace sampling techniques to identify dynamic clusters of classes. Proc. of the IBM CAS Software and Systems Engineering Symposium (CASCON).
  11. Hamou-Lhadj A., Lethbridge T.C, 2002 - Compression Techniques to Simplify the Analysis of Large Execution Traces. Proc. of the IEEE Workshop on Program Comprehension (IWPC),
  12. Hamou-Lhadj A., Braun E., Amyot D., Lethbridge T. , 2005 - Recovering Behavioral Design Model from Execution Traces. Proc. of the European Conference on Software Maintenance and Reengineering (CSMR'05).
  13. Harman M., Gold N., Hierons R., Binkeley D., 2002 - Code Extraction Algorithms which Unify Slicing and Concept Assignment. Proc IEEE Working Conference on Reverse Engineering (WCRE'02).
  14. Kazman R., O'Brien L., Verhoef C., 2002 - Architecture Reconstruction Guidelines, 3rd edition. Software Engineering Institute, Tech. Report CMU/SEI-2002- TR-034.
  15. Mitchell B.S., 2003 - A Heuristic Search Approach to Solving the Software Clustering Problem. Proc IEEE Conf on Software Maintenance.
  16. Marcus A., 2004 - Semantic Driven Program Analysis. Proc IEEE Int. Conference on Software Maintenance (ICSM'04).
  17. Müller H.A., Orgun M.A., Tilley S., Uhl J.S, 1993. - A Reverse Engineering Approach To Subsystem Structure Identification. Software Maintenance: Research and Practice 5(4), John Wiley & Sons.
  18. Siff M., Reps T. . 1999 - Identifying Modules via Concept Analysis. IEEE Trans. On Software Engineering 25(6).
  19. Tonella P., 2001 - Concept Analysis for Module Restructuring. IEEE Trans. On Software Engineering, 27(4),
  20. Tonella P., 2003 - Using a Concept Lattice of Decomposition Slices for Program Understanding and Impact Analysis. IEEE Trans. On Software Engineering. 29(6),
  21. Tilley S.R., Santanu P., Smith D.B. - Toward a Framework for Program Understanding. Proc. IEEE Int. Workshop on Program Comprehension, 1996
  22. Verbaere M. , 2003 - Program Slicing for Refactoring. MS Thesis, Oxford University.
  23. Wiggerts T.A., 1997 - Using Clustering Algorithms in Legacy Systems Remodularization. Proc IEEE Working Conference on Reverse Engineering (WCRE 7897),
  24. Xiao C., Tzerpos, V., 2005 - Software Clustering basd on Dynamic Dependencies. Proc. of the IEEE European Conference on Software Maintenance and Reengineering (CSMR'2005).
  25. Zaidman A., Demeyer S., 2004 - Managing trace data volume through a heuristical clustering process based on event execution frequency. Proc. of the IEEE European Conference on Software Maintenance and Reengineering (CSMR'2004).
  26. Zaidman A., Calders T., Demeyer S. Paredaens J., 2005 - Applying Webmining Techniques to Execution Traces to Support the Program Comprehension Process. Proc. of the IEEE European Conference on Software Maintenance and Reengineering (CSMR'2005).
Download


Paper Citation


in Harvard Style

Dugerdil P. and Jossi S. (2008). EMPIRICAL ASSESSMENT OF EXECUTION TRACE SEGMENTATION IN REVERSE-ENGINEERING . In Proceedings of the Third International Conference on Software and Data Technologies - Volume 2: ICSOFT, ISBN 978-989-8111-52-4, pages 20-27. DOI: 10.5220/0001877200200027


in Bibtex Style

@conference{icsoft08,
author={Philippe Dugerdil and Sebastien Jossi},
title={EMPIRICAL ASSESSMENT OF EXECUTION TRACE SEGMENTATION IN REVERSE-ENGINEERING},
booktitle={Proceedings of the Third International Conference on Software and Data Technologies - Volume 2: ICSOFT,},
year={2008},
pages={20-27},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001877200200027},
isbn={978-989-8111-52-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the Third International Conference on Software and Data Technologies - Volume 2: ICSOFT,
TI - EMPIRICAL ASSESSMENT OF EXECUTION TRACE SEGMENTATION IN REVERSE-ENGINEERING
SN - 978-989-8111-52-4
AU - Dugerdil P.
AU - Jossi S.
PY - 2008
SP - 20
EP - 27
DO - 10.5220/0001877200200027