CSMR 2012
Technical Track
Runtime evolution and analysis
Friday, March 4, 2011, from 11:00 to 13:30, A14 HS2- Luay Alawneh and Abdelwahab Hamou-Lhadj - Pattern Recognition Techniques Applied to the Abstraction of Traces of Inter-Process Communication
- Luciana Silva, Klérisson Paixão, Sandra de Amo and Marcelo Maia - On the Use of Execution Trace Alignment for Driving Perfective Changes
- Rodrigo Andrade, Márcio Ribeiro, Vaidas Gasiunas, Lucas Satabin, Henrique Rebêlo and Paulo Borba - Assessing Idioms for Implementing Features with Flexible Binding Times
Pattern Recognition Techniques Applied to the Abstraction of Traces of Inter-Process Communication
Luay Alawneh and Abdelwahab Hamou-Lhadj
The large number of processors in high performance computing and distributed applications is becoming a major challenge in the analysis of the way an application’s processes communicate with each other. In this paper, we propose an approach that facilitates the understanding of large traces of inter-process communication by extracting communication patterns that characterize their main behavior. Two algorithms are proposed. The first one permits the recognition of repeating patterns in traces of MPI (Message Passing Interaction) applications whereas the second algorithm searches if a given communication pattern occurs in a trace. Both algorithms are based on the n-gram extraction technique used in natural language processing. Unlike existing work, our approach operates on the trace as it is generated (i.e. on the fly) and does not require complex and computationally-expensive data structures. We show the effectiveness and efficiency of our approach in detecting communication patterns from large traces generated from three target systems.
On the Use of Execution Trace Alignment for Driving Perfective Changes
Luciana Silva, Klérisson Paixão, Sandra de Amo and Marcelo Maia
Perfective changes in well-established software systems are easier to perform when the development team have a solid understanding of the internals. However, it is reasonable to assume that the use of an open source system to incorporate new features and derive a new software product is an appealing approach instead of coding a new product from the scratch. Considering this scenario, and considering that it is not uncommon that systems are poorly documented, there is no widely accepted approach to guide the perfective maintenance for developers with low understanding of the system. This work proposes a new method based on the analysis of execution traces for locating evolution points in the source code where changes should be performed. The proposed method was evaluated with three open source systems and the conclusion suggests a significant impact on effort reduction.
Assessing Idioms for Implementing Features with Flexible Binding Times
Rodrigo Andrade, Márcio Ribeiro, Vaidas Gasiunas, Lucas Satabin, Henrique Rebêlo and Paulo Borba
Maintainability of a software product line depends on the possibility to modularize its variations, often expressed in terms of optionally selected features. Conventional modularization techniques bind variations either statically or dynamically, but ideally it should be possible to flexibly choose between both. In this paper, we propose improved solutions for modularizing and flexibly binding varying features in form of idioms in aspect-oriented languages AspectJ and CaesarJ. We evaluate the idioms qualitatively by discussing their advantages and deficiencies and quantitatively by means of metrics.