La fonctionnalité de recherche est en construction.
La fonctionnalité de recherche est en construction.

The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. ex. Some numerals are expressed as "XNUMX".
Copyrights notice

The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. Copyrights notice

Identifying Core Objects for Trace Summarization by Analyzing Reference Relations and Dynamic Properties Identification des objets de base pour la synthèse des traces en analysant les relations de référence et les propriétés dynamiques

Kunihiro NODA, Takashi KOBAYASHI, Noritoshi ATSUMI

  • Vues en texte intégral

    0

  • Citer

Résumé:

Les comportements d'un système orienté objet peuvent être visualisés sous forme de diagrammes de séquence de rétro-ingénierie à partir de traces d'exécution. Cette approche est un outil précieux pour les tâches de compréhension de programme. Cependant, en raison de la masse d’informations contenues dans une trace d’exécution, un diagramme de séquence de rétro-ingénierie est souvent confronté à un problème d’évolutivité. Pour résoudre ce problème, de nombreuses techniques de synthèse de traces ont été proposées. La plupart des techniques précédentes visaient à réduire la taille verticale du diagramme. Pour résoudre le problème d’évolutivité, il est également très important de réduire la taille horizontale du diagramme. Néanmoins, peu d’études ont abordé ce point ; il existe donc de nombreux besoins en matière de développement ultérieur des techniques de synthèse horizontale. Nous présentons dans cet article une méthode d'identification des objets centraux pour la synthèse des traces en analysant les relations de référence et les propriétés dynamiques. En visualisant uniquement les interactions liées aux objets principaux, nous pouvons obtenir un diagramme de séquence d'ingénierie inverse compactifié horizontalement qui contient les comportements clés du système. Pour identifier les objets principaux, nous détectons et éliminons d’abord les objets temporaires qui sont triviaux pour un système en analysant les relations de référence et les durées de vie des objets. Ensuite, en estimant l'importance de chaque objet non trivial en fonction de leurs propriétés dynamiques, nous identifions les objets très importants (c'est-à-dire les objets centraux). Nous avons implémenté notre technique dans notre outil et l'avons évaluée en utilisant des traces provenant de divers systèmes logiciels open source. Les résultats ont montré que notre technique était beaucoup plus efficace en termes de réduction horizontale d’un diagramme de séquence par ingénierie inverse, par rapport à la technique de synthèse de traces de pointe. Le taux de compression horizontale de notre technique était de 134.6 en moyenne, alors que celui de la technique de l'état de l'art était de 11.5. La surcharge d'exécution imposée par notre technique était de 167.6 % en moyenne. Cette surcharge est relativement faible par rapport aux techniques récentes d’analyse dynamique évolutive, ce qui montre le caractère pratique de notre technique. Dans l’ensemble, notre technique peut permettre une réduction significative de la taille horizontale d’un diagramme de séquence d’ingénierie inverse avec un faible surcoût et devrait être un outil précieux pour la compréhension du programme.

Publication
IEICE TRANSACTIONS on Information Vol.E101-D No.7 pp.1751-1765
Date de publication
2018/07/01
Publicisé
2018/04/20
ISSN en ligne
1745-1361
DOI
10.1587/transinf.2017KBP0018
Type de manuscrit
Special Section PAPER (Special Section on Knowledge-Based Software Engineering)
Catégories

Auteurs

Kunihiro NODA
  Tokyo Institute of Technology
Takashi KOBAYASHI
  Tokyo Institute of Technology
Noritoshi ATSUMI
  Kyoto University

Mots-clés

Table des matières