A Unified Framework for the Comprehension of Software's Time

The dimension of time in software appears in both program execution and software evolution. Much research has been devoted to the understanding of either program execution or software evolution, but these two research communities have developed tools and solutions exclusively in their respective context. In this paper, we claim that a common comprehension framework should apply to the time dimension of software. We formalize this as a meta-model that we instantiate and apply to the two different comprehension problems.

[1]  Thomas Fritz,et al.  Using information fragments to answer the questions developers ask , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[2]  Wim De Pauw,et al.  Zinsight: a visual and analytic environment for exploring large event traces , 2010, SOFTVIS '10.

[3]  Harald C. Gall,et al.  Classifying Change Types for Qualifying Change Couplings , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[4]  Katsuro Inoue,et al.  Feature-level phase detection for execution trace using object cache , 2008, WODA '08.

[5]  Philippe Dugerdil,et al.  Execution Trace Visualization in a 3D Space , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[6]  Pierre Poulin,et al.  Exploring the evolution of software quality with animated visualization , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[7]  Arie van Deursen,et al.  Trace visualization for program comprehension: A controlled experiment , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[8]  Michele Lanza,et al.  Visual Exploration of Large-Scale System Evolution , 2008, 2008 15th Working Conference on Reverse Engineering.

[9]  Michalis Faloutsos,et al.  Graph-based analysis and prediction for software evolution , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[10]  Pierre Poulin,et al.  Detection of Software Evolution Phases Based on Development Activities , 2015, 2015 IEEE 23rd International Conference on Program Comprehension.

[11]  Pierre Poulin,et al.  Visualizing software dynamicities with heat maps , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[12]  Yann-Gaël Guéhéneuc,et al.  A Heuristic-Based Approach to Identify Concepts in Execution Traces , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[13]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[14]  Stéphane Ducasse,et al.  Modeling history to analyze software evolution , 2006, J. Softw. Maintenance Res. Pract..

[15]  Stéphane Ducasse,et al.  Modeling history to analyze software evolution: Research Articles , 2006 .

[16]  Steven P. Reiss,et al.  Almost: exploring program traces , 1999, NPIVM '99.

[17]  Chris F. Kemerer,et al.  On the uniformity of software evolution patterns , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[18]  Pierre Poulin,et al.  Detecting Program Execution Phases Using Heuristic Search , 2014, SSBSE.

[19]  Harald C. Gall,et al.  Change Distilling:Tree Differencing for Fine-Grained Source Code Change Extraction , 2007, IEEE Transactions on Software Engineering.

[20]  Abdelwahab Hamou-Lhadj,et al.  An Approach for Detecting Execution Phases of a System for the Purpose of Program Comprehension , 2010, 2010 Eighth ACIS International Conference on Software Engineering Research, Management and Applications.