APPLYING FINANCIAL TIME SERIES ANALYSIS TO THE DYNAMIC ANALYSIS OF SOFTWARE

Philippe Dugerdil, David Sennhauser

Abstract

Dynamic analysis of programs is one of the most promising techniques to reverse-engineer legacy code for software understanding. However, the key problem is to cope with the volume of data to process, since a single execution trace could contain millions of calls. Although many trace analysis techniques have been proposed, most of them are not very scalable. To overcome this problem, we developed a segmentation technique where the trace is pre-processed to give it the shape of a time series of data. Then we apply technical analysis techniques borrowed from the financial domain. In particular we show how the moving average filtering can be used to identify the “trend” of the involvement of the class in the execution of the program. Based on the comparison of the “trends” of all the classes, one can compute the coupling of classes in order to recover the hidden functional architecture of the software.

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. Bechu, T., Bertrand, E., Nebenzahl, J., 2008. L'analyse technique : théories et méthodes. Paris : Economica.
  4. 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.
  5. Dugerdil Ph., 2007 - Using trace sampling techniques to identify dynamic clusters of classes. Proc. of the IBM CAS Software and Systems Engineering Symposium (CASCON).
  6. 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.
  7. 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.
  8. Hamou-Lhadj A., Lethbridge T.C., 2004. A Survey of Trace Exploration Tools and Techniques. Proc. of the IBM Conference of the Centre for Advanced Studies on Collaborative Research.
  9. Hamou-Lhadj A., 2005. The Concept of Trace Summarization. Proc. of the 1st International Workshop on Program Comprehension through Dynamic Analysis.
  10. Marcus A. 2004. Semantic Driven Program Analysis. Proc IEEE Int. Conference on Software Maintenance.
  11. Meyer M., Wendehals L., 2005. Selective Tracing for Dynamic Analyses. Proc. of the 1st International Workshop on Program Comprehension through Dynamic Analysis.
  12. Mitchell B.S., 2003. A Heuristic Search Approach to Solving the Software Clustering Problem. Proc IEEE Conf on Software Maintenance.
  13. Muller H., Orgun M.A., Tilley S.R., Uhl J.S., 1993. A Reverse Engineering Approach To Subsystem Structure Identification. Software Maintenance: Research and Practice 5(4).
  14. Murphy Ph., 2006. Got Legacy? Migration Options for Applications, Forrester Research.
  15. Sartipi K., Safyallah H., 2006. An Environment for Pattern based Dynamic Analysis of Software Systems. Proc. of the 2nd International Workshop on Program Comprehension through Dynamic Analysis.
  16. Siff M., Reps T., 1999. Identifying Modules via Concept Analysis. IEEE Trans. On Software Engineering 25(6).
  17. Simon H., 1996. The Architecture of Complexity. In: The Sciences of the Artificial (3rd edition). MIT Press.
  18. Tonella P., 2001. Concept Analysis for Module Restructuring. IEEE Trans. On Software Engineering, 27(4).
  19. Vasconcelos A., Cepeda R., Werner C., 2005. An Approach to Program Comprehension through Reverse Engineering of Complementary Software Views. Proc. of the 1st International Workshop on Program Comprehension through Dynamic Analysis.
  20. Verbaere M., 2003. Program Slicing for Refactoring. MS Thesis, Oxford University.
  21. Wiggerts T.A., 1997. Using Clustering Algorithms in Legacy Systems Remodulari-zation. Proc IEEE Working Conference on Reverse Engineering.
  22. Xiao C., Tzerpos, V. , 2005. Software Clustering based on Dynamic Dependencies. Proc. of the IEEE European Conference on Software Maintenance and Reengineering.
  23. 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.
Download


Paper Citation


in Harvard Style

Dugerdil P. and Sennhauser D. (2009). APPLYING FINANCIAL TIME SERIES ANALYSIS TO THE DYNAMIC ANALYSIS OF SOFTWARE . In Proceedings of the 4th International Conference on Software and Data Technologies - Volume 1: ICSOFT, ISBN 978-989-674-009-2, pages 194-201. DOI: 10.5220/0002255601940201


in Bibtex Style

@conference{icsoft09,
author={Philippe Dugerdil and David Sennhauser},
title={APPLYING FINANCIAL TIME SERIES ANALYSIS TO THE DYNAMIC ANALYSIS OF SOFTWARE},
booktitle={Proceedings of the 4th International Conference on Software and Data Technologies - Volume 1: ICSOFT,},
year={2009},
pages={194-201},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002255601940201},
isbn={978-989-674-009-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 4th International Conference on Software and Data Technologies - Volume 1: ICSOFT,
TI - APPLYING FINANCIAL TIME SERIES ANALYSIS TO THE DYNAMIC ANALYSIS OF SOFTWARE
SN - 978-989-674-009-2
AU - Dugerdil P.
AU - Sennhauser D.
PY - 2009
SP - 194
EP - 201
DO - 10.5220/0002255601940201