A framework for the recovery and visualization of system availability scenarios from execution traces

Abstract Context Dynamic analysis is typically concerned with the analysis of system functional aspects at run time. However, less work has been devoted to the dynamic analysis of software quality attributes. The recovery of availability scenarios from system execution traces is particularly important for critical systems to verify that the running implementation supports and complies with availability requirements, especially if the source code is not available (e.g., in legacy systems) and after the system has undergone several ad-hoc maintenance tasks. Objective Propose a dynamic analysis approach, along with tool support, to recover availability scenarios, from system execution traces running high availability features. Method Native execution traces, collected from systems running high availability features, are pre-processed, filtered, merged, and segmented into execution phases. The segmented scenarios are then visualized, at a high level of abstraction, using the ITU-T standard Use Case Maps (UCM) language extended with availability annotations. Results The applicability of our proposed approach has been demonstrated by implementing it as a prototype feature within the jUCMNav tool and by applying it to four real-world systems running high availability features. Furthermore, we have conducted an empirical study to prove that resulting UCM models improve the understandability of log files that contain high availability features. Conclusion We have proposed a framework to filter, merge, segment, and visualize native log traces. The framework presents the following benefits: (1) it offers analysts the flexibility to specify what to include/exclude from an execution trace, (2) it provides a log segmentation method based on the type of information reported in the execution trace, (3) it uses the UCM language to visually describe availability scenarios at a high level of abstraction, and (4) it offers a scalable solution for the visualization problem through the use of the UCM stub-plug-in concept.

[1]  Arie van Deursen,et al.  A Controlled Experiment for Program Comprehension through Trace Visualization , 2011, IEEE Transactions on Software Engineering.

[2]  Jameleddine Hassine,et al.  Toward a UCM-Based Approach for Recovering System Availability Requirements from Execution Traces , 2014, SAM.

[3]  Arie van Deursen,et al.  Execution trace analysis through massive sequence and circular bundle views , 2008, J. Syst. Softw..

[4]  Jameleddine Hassine,et al.  Modeling Early Availability Requirements Using Aspect-Oriented Use Case Maps , 2013, SDL Forum.

[5]  Daniel M. German,et al.  Execution , 2003, Suing Foreign Governments and Their Corporations, 2nd Edition.

[6]  Jameleddine Hassine Describing and assessing availability requirements in the early stages of system development , 2013, Software & Systems Modeling.

[7]  Abdelwahab Hamou-Lhadj,et al.  Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[8]  Christoph Wysseier,et al.  Visualizing live software systems in 3D , 2006, SoftVis '06.

[9]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[10]  Daniel Amyot,et al.  Generating Software Documentation in Use Case Maps from Filtered Execution Traces , 2015, SDL Forum.

[11]  Student,et al.  THE PROBABLE ERROR OF A MEAN , 1908 .

[12]  Jameleddine Hassine Early Availability Requirements Modeling Using Use Case Maps , 2011, 2011 Eighth International Conference on Information Technology: New Generations.

[13]  Abdelwahab Hamou-Lhadj,et al.  SEAT: a usable trace analysis tool , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[14]  Jameleddine Hassine,et al.  Towards the Generation of AMF Configurations from Use Case Maps Based Availability Requirements , 2013, SDL Forum.

[15]  Dorothy E. Denning,et al.  An Intrusion-Detection Model , 1987, IEEE Transactions on Software Engineering.

[16]  Sung-Bae Cho,et al.  Incorporating soft computing techniques into a probabilistic intrusion detection system , 2002, IEEE Trans. Syst. Man Cybern. Part C.

[17]  Abdelwahab Hamou-Lhadj The Concept of Trace Summarization , 2005 .

[18]  Gail C. Murphy,et al.  Scaling an object-oriented system execution visualizer through sampling , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[19]  Thomas Ball,et al.  The concept of dynamic analysis , 1999, ESEC/FSE-7.

[20]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[21]  Abdelwahab Hamou-Lhadj,et al.  Measuring various properties of execution traces to help build better trace analysis tools , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[22]  Miryung Kim,et al.  Validity concerns in software engineering research , 2010, FoSER '10.

[23]  Mario Piattini,et al.  Graphical versus textual software measurement modelling: an empirical study , 2011, Software Quality Journal.

[24]  Adrian Kuhn,et al.  Exploiting the Analogy Between Traces and Signal Processing , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[25]  Daniel Amyot,et al.  Recovering behavioral design models from execution traces , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[26]  Philippe Dugerdil,et al.  Using trace sampling techniques to identify dynamic clusters of classes , 2007, CASCON.

[27]  Abdelwahab Hamou-Lhadj,et al.  Stratified sampling of execution traces: Execution phases serving as strata , 2013, Sci. Comput. Program..

[28]  Risto Vaarandi,et al.  A data clustering algorithm for mining patterns from event logs , 2003, Proceedings of the 3rd IEEE Workshop on IP Operations & Management (IPOM 2003) (IEEE Cat. No.03EX764).

[29]  Shiuh-Pyng Shieh,et al.  On a Pattern-Oriented Model for Intrusion Detection , 1997, IEEE Trans. Knowl. Data Eng..

[30]  Hausi A. Müller,et al.  Shimba—an environment for reverse engineering Java software systems , 2001, Softw. Pract. Exp..

[31]  G. Norman Likert scales, levels of measurement and the “laws” of statistics , 2010, Advances in health sciences education : theory and practice.

[32]  Jameleddine Hassine,et al.  Exploring Early Availability Requirements Using Use Case Maps , 2011, SDL Forum.

[33]  Pankaj Jalote,et al.  Fault tolerance in distributed systems , 1994 .

[34]  Arie van Deursen,et al.  A Systematic Survey of Program Comprehension through Dynamic Analysis , 2008, IEEE Transactions on Software Engineering.

[35]  Kevin Downs,et al.  Internetworking Technologies Handbook , 1997 .

[36]  Yingjun Zhang,et al.  Broad-spectrum studies of log file analysis , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.