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
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.
Kunihiro NODA
Tokyo Institute of Technology
Takashi KOBAYASHI
Tokyo Institute of Technology
Noritoshi ATSUMI
Kyoto University
The copyright of the original papers published on this site belongs to IEICE. Unauthorized use of the original or translated papers is prohibited. See IEICE Provisions on Copyright for details.
Copier
Kunihiro NODA, Takashi KOBAYASHI, Noritoshi ATSUMI, "Identifying Core Objects for Trace Summarization by Analyzing Reference Relations and Dynamic Properties" in IEICE TRANSACTIONS on Information,
vol. E101-D, no. 7, pp. 1751-1765, July 2018, doi: 10.1587/transinf.2017KBP0018.
Abstract: Behaviors of an object-oriented system can be visualized as reverse-engineered sequence diagrams from execution traces. This approach is a valuable tool for program comprehension tasks. However, owing to the massiveness of information contained in an execution trace, a reverse-engineered sequence diagram is often afflicted by a scalability issue. To address this issue, many trace summarization techniques have been proposed. Most of the previous techniques focused on reducing the vertical size of the diagram. To cope with the scalability issue, decreasing the horizontal size of the diagram is also very important. Nonetheless, few studies have addressed this point; thus, there is a lot of needs for further development of horizontal summarization techniques. We present in this paper a method for identifying core objects for trace summarization by analyzing reference relations and dynamic properties. Visualizing only interactions related to core objects, we can obtain a horizontally compactified reverse-engineered sequence diagram that contains system's key behaviors. To identify core objects, first, we detect and eliminate temporary objects that are trivial for a system by analyzing reference relations and lifetimes of objects. Then, estimating the importance of each non-trivial object based on their dynamic properties, we identify highly important ones (i.e., core objects). We implemented our technique in our tool and evaluated it by using traces from various open-source software systems. The results showed that our technique was much more effective in terms of the horizontal reduction of a reverse-engineered sequence diagram, compared with the state-of-the-art trace summarization technique. The horizontal compression ratio of our technique was 134.6 on average, whereas that of the state-of-the-art technique was 11.5. The runtime overhead imposed by our technique was 167.6% on average. This overhead is relatively small compared with recent scalable dynamic analysis techniques, which shows the practicality of our technique. Overall, our technique can achieve a significant reduction of the horizontal size of a reverse-engineered sequence diagram with a small overhead and is expected to be a valuable tool for program comprehension.
URL: https://global.ieice.org/en_transactions/information/10.1587/transinf.2017KBP0018/_p
Copier
@ARTICLE{e101-d_7_1751,
author={Kunihiro NODA, Takashi KOBAYASHI, Noritoshi ATSUMI, },
journal={IEICE TRANSACTIONS on Information},
title={Identifying Core Objects for Trace Summarization by Analyzing Reference Relations and Dynamic Properties},
year={2018},
volume={E101-D},
number={7},
pages={1751-1765},
abstract={Behaviors of an object-oriented system can be visualized as reverse-engineered sequence diagrams from execution traces. This approach is a valuable tool for program comprehension tasks. However, owing to the massiveness of information contained in an execution trace, a reverse-engineered sequence diagram is often afflicted by a scalability issue. To address this issue, many trace summarization techniques have been proposed. Most of the previous techniques focused on reducing the vertical size of the diagram. To cope with the scalability issue, decreasing the horizontal size of the diagram is also very important. Nonetheless, few studies have addressed this point; thus, there is a lot of needs for further development of horizontal summarization techniques. We present in this paper a method for identifying core objects for trace summarization by analyzing reference relations and dynamic properties. Visualizing only interactions related to core objects, we can obtain a horizontally compactified reverse-engineered sequence diagram that contains system's key behaviors. To identify core objects, first, we detect and eliminate temporary objects that are trivial for a system by analyzing reference relations and lifetimes of objects. Then, estimating the importance of each non-trivial object based on their dynamic properties, we identify highly important ones (i.e., core objects). We implemented our technique in our tool and evaluated it by using traces from various open-source software systems. The results showed that our technique was much more effective in terms of the horizontal reduction of a reverse-engineered sequence diagram, compared with the state-of-the-art trace summarization technique. The horizontal compression ratio of our technique was 134.6 on average, whereas that of the state-of-the-art technique was 11.5. The runtime overhead imposed by our technique was 167.6% on average. This overhead is relatively small compared with recent scalable dynamic analysis techniques, which shows the practicality of our technique. Overall, our technique can achieve a significant reduction of the horizontal size of a reverse-engineered sequence diagram with a small overhead and is expected to be a valuable tool for program comprehension.},
keywords={},
doi={10.1587/transinf.2017KBP0018},
ISSN={1745-1361},
month={July},}
Copier
TY - JOUR
TI - Identifying Core Objects for Trace Summarization by Analyzing Reference Relations and Dynamic Properties
T2 - IEICE TRANSACTIONS on Information
SP - 1751
EP - 1765
AU - Kunihiro NODA
AU - Takashi KOBAYASHI
AU - Noritoshi ATSUMI
PY - 2018
DO - 10.1587/transinf.2017KBP0018
JO - IEICE TRANSACTIONS on Information
SN - 1745-1361
VL - E101-D
IS - 7
JA - IEICE TRANSACTIONS on Information
Y1 - July 2018
AB - Behaviors of an object-oriented system can be visualized as reverse-engineered sequence diagrams from execution traces. This approach is a valuable tool for program comprehension tasks. However, owing to the massiveness of information contained in an execution trace, a reverse-engineered sequence diagram is often afflicted by a scalability issue. To address this issue, many trace summarization techniques have been proposed. Most of the previous techniques focused on reducing the vertical size of the diagram. To cope with the scalability issue, decreasing the horizontal size of the diagram is also very important. Nonetheless, few studies have addressed this point; thus, there is a lot of needs for further development of horizontal summarization techniques. We present in this paper a method for identifying core objects for trace summarization by analyzing reference relations and dynamic properties. Visualizing only interactions related to core objects, we can obtain a horizontally compactified reverse-engineered sequence diagram that contains system's key behaviors. To identify core objects, first, we detect and eliminate temporary objects that are trivial for a system by analyzing reference relations and lifetimes of objects. Then, estimating the importance of each non-trivial object based on their dynamic properties, we identify highly important ones (i.e., core objects). We implemented our technique in our tool and evaluated it by using traces from various open-source software systems. The results showed that our technique was much more effective in terms of the horizontal reduction of a reverse-engineered sequence diagram, compared with the state-of-the-art trace summarization technique. The horizontal compression ratio of our technique was 134.6 on average, whereas that of the state-of-the-art technique was 11.5. The runtime overhead imposed by our technique was 167.6% on average. This overhead is relatively small compared with recent scalable dynamic analysis techniques, which shows the practicality of our technique. Overall, our technique can achieve a significant reduction of the horizontal size of a reverse-engineered sequence diagram with a small overhead and is expected to be a valuable tool for program comprehension.
ER -