MINING ANOMALIES IN OBJECT-ORIENTED IMPLEMENTATIONS THROUGH EXECUTION TRACES

Paria Parsamanesh, Amir Abdollahi Foumani, Constantinos Constantinides

2006

Abstract

In the context of a computer program, the term “anomaly” is used to refer to any phenomenon that can negatively affect software quality. Examples of anomalies in object-oriented programs include low cohesion of modular units, high coupling between modular units and the phenomenon of crosscutting. In this paper we discuss the theoretical component of a technique to identifying anomalies in object-oriented implementations based on observation of patterns of messages (invoked operations). Our technique is based on the capturing of execution traces (paths) into a relational database in order to extract knowledge of anomalies in the system, focusing on potential crosscutting concerns (aspects). In order to resolve ambiguities between candidate aspects we deploy dynamic programming to identify optimal solutions.

References

  1. Baxter, I. D., Yahin, A., Moura, L., Sant'Anna, M., and Bier, L. (1998). Clone detection using abstract syntax trees. In International Conference on Software Maintenance.
  2. Breu, S. and Krinke, J. (2004). Aspect mining using event traces. In IEEE International Conference on Automated Software Engineering.
  3. Bruntink, M. (2004). Aspect mining using clone class metrics. In WCRE Workshop on Aspect Reverse Engineering.
  4. Chidamber, S. R. and Kemerer, C. F. (1991). Towards a metrics suite for object-oriented design. In ObjectOriented Programming: Systems, Languages and Applications.
  5. Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2002). Introduction to Algorithms. The MIT Press.
  6. Dijkstra, E. W. (1976). A Discipline of Programming. Prentice Hall, Englewood Cliffs, NJ.
  7. Elrad, T., Filman, R. E., and Bader, A. (2001). Aspectoriented programming. Communications of the ACM, 44(10):29-32.
  8. Foumani, A. A. and Constantinides, C. (2005a). Aspectoriented reverse engineering. In World Multiconference on Systemics, Cybernetics and Informatics.
  9. Foumani, A. A. and Constantinides, C. (2005b). Reengineering object-oriented designs by analyzing dependency graphs and production rules. In IASTED International Conference on Software Engineering and Applications.
  10. Gupta, N. and Rao, P. (2001). Program execution based module cohesion measurement. In International Conference on Automated Software Engineering.
  11. Jr., S. M. S. (2002). Early-stage concern modeling. In AOSD Workshop on Early Aspects.
  12. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. G. (2001). An overview of AspectJ. Lecture Notes in Computer Science, 2072:327- 355.
  13. Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwin, J. (1997). Aspect-oriented programming. In Aks¸it, M. and Matsuoka, S., editors, Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP), volume 1241, pages 220-242. SpringerVerlag.
  14. Krinke, J. and Breu, S. (2004). Control-flow-graph-based aspect mining. In WCRE Workshop on Aspect Reverse Engineering.
  15. Mitchell, A. and Power, J. F. (2003). Toward a definition of run-time object-oriented metrics. In ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering.
  16. Moldovan, G. S. and Serban, G. (2006). Aspect mining using a vector-space model based clustering approach. In AOSD Workshop on Linking Aspect Technology and Evolution Revisited.
  17. Parnas, D. L. (1972). On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15:1053-1058.
  18. Robillard, M. P. and Murphy, G. C. (2001). Analyzing concerns using class member dependencies. In ICSE Workshop on Advanced Separation of Concerns in Software Engineering.
  19. Robillard, M. P. and Murphy, G. C. (2002). Concern graphs: Finding and describing concerns using structural program dependencies. In International Conference on Software Engineering.
Download


Paper Citation


in Harvard Style

Parsamanesh P., Abdollahi Foumani A. and Constantinides C. (2006). MINING ANOMALIES IN OBJECT-ORIENTED IMPLEMENTATIONS THROUGH EXECUTION TRACES . In Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT, ISBN 978-972-8865-69-6, pages 177-189. DOI: 10.5220/0001321101770189


in Bibtex Style

@conference{icsoft06,
author={Paria Parsamanesh and Amir Abdollahi Foumani and Constantinos Constantinides},
title={MINING ANOMALIES IN OBJECT-ORIENTED IMPLEMENTATIONS THROUGH EXECUTION TRACES},
booktitle={Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT,},
year={2006},
pages={177-189},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001321101770189},
isbn={978-972-8865-69-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT,
TI - MINING ANOMALIES IN OBJECT-ORIENTED IMPLEMENTATIONS THROUGH EXECUTION TRACES
SN - 978-972-8865-69-6
AU - Parsamanesh P.
AU - Abdollahi Foumani A.
AU - Constantinides C.
PY - 2006
SP - 177
EP - 189
DO - 10.5220/0001321101770189