WOSAR 2024: 16TH INTERNATIONAL WORKSHOP ON SOFTWARE AGING AND REJUVENATION
co-located with ISSRE 2024, October 28-31, Tsukuba, Japan
co-located with ISSRE 2024, October 28-31, Tsukuba, Japan
Message from the WoSAR Workshop Chairs
ISSREW 2024
On behalf of the Organizing Committee, it is our pleasure to welcome you to the 16th IEEE International Workshop on Software Aging and Rejuvenation (WoSAR 2024), co-located with the 35th IEEE International Symposium on Software Reliability Engineering (ISSRE 2024) in Tsukuba, Japan.
This year, we are excited to showcase 5 research contributions selected by our program committee, reflecting the latest advances in the field. In addition, we are honored to have two internationally recognized keynote speakers, who will provide valuable insights into emerging trends and challenges.
Software aging, the progressive degradation of performance and dependability in long-running programs, has been a significant research focus for more than two decades. It impacts systems ranging from embedded devices to large-scale server software and critical infrastructure. The importance of this issue continues to grow as our reliance on software increases. One of the most effective approaches to mitigating the effects of software aging is software rejuvenation, which includes techniques such as proactive restarts of application components, rebooting virtual machines, and failover mechanisms to replicas. Over the years, researchers have developed a wide range of rejuvenation techniques, addressing different scheduling plans, scopes, and levels of granularity across various application types and platforms.
As the premier international venue for discussions on software aging and rejuvenation, WoSAR continues to serve as a critical forum for both theoretical and practical advances. We encourage interdisciplinary research, and this year’s topics of interest reflect the broad scope of innovation in this field. We look forward to an engaging and stimulating workshop, where participants will exchange ideas and explore new directions in software reliability.
WoSAR 2024 Program Chairs
Ermeson Andrade, Federal Rural University of Pernambuco, Brazil
Laura Carnevali, Università di Firenze, Italy
Roberto Natella, Università degli Studi di Napoli Federico II, Italy
The 16th International Workshop on Software Aging and Rejuvenation (WoSAR2024)
Alberto Avritzer, Andrea Janes, Andrea Marin, Daniel Sadoc Menasché, Catia Trubiani, Andre Bondi and James Cusick. Measurements and Models for Resiliency Assessment of VM clusters under Aging and Rejuvenation.
Abstract. We present an empirical assessment of a heterogeneous VM (Virtual Machine) network. We evaluate the VM network performance using six resiliency strategies. For each resiliency strategy, we apply three software rejuvenation approaches. Therefore, our experimental design is composed of eighteen experiments. For each measurement, we present the experiment average normalized distance from the scalability requirement. Here, the scalability requirement is the average response time plus three standard deviations of response time, measured at low load. In addition, we plot, for each experiment sample, the instantaneous available memory and normalized distance of response time from the scalability requirement. We have also parameterized the discrete-time embedded Markov chain with rewards for each experiment, using a discrete representation of the available memory as the Markov chain state variable, and, the normalized distance from the scalability requirement as the state reward. Coloring the states of the Markov chain state transition diagram enabled new insights into the software aging and rejuvenation process, for each strategy, and software rejuvenation granularity level. We conclude by presenting an optimal synthetic resiliency strategy that was derived using Markov decision processes (MDPs). These MDPs are based on state spaces that map to a partition of the amount of available memory into disjoint, contiguous intervals.
Nianqiu Wang (Department of Computer Science, University of Tsukuba) and Fumio Machida (Department of Computer Science, University of Tsukuba). A CTMDP Modeling for Multi-Stage Software Aging and Rejuvenation.
Abstract. The seminal work on the software rejuvenation model used Continuous-Time Markov Chains (CTMCs) to analyze the effectiveness of software rejuvenation for improving system availability. The effectiveness in terms of steady-state availability is determined by the condition on the transition rates, known as rejuvenation thread. However, such a theoretical condition has not been studied for more than two stages software aging models. This paper formulates the software rejuvenation decision problem by a Continues-Time Markov Decision Process (CTMDP) and theoretically shows the conditions to determine the optimal rejuvenation policy maximizing the steady-state availability for three-stage software aging model. Furthermore, we develop an approximated policy evaluation algorithm for the CTMDP-based software aging and rejuvenation model that allows to evaluate the steady-state availability of the system with a given decision policy. Through the numerical study, we confirm that the results of policy evaluation algorithm correctly match the boundary conditions of the optimal policy for the three-stage model. Our numerical results also show the boundary conditions for more than four-stage models.
Kojiro Soeda (Tokyo Metropolitan University) and Xiao Xiao (Tokyo Metropolitan University). Evaluation of software aging in Hyperledger Fabric.
Abstract. Software aging is the gradual decline in performance that occurs with continuous software operation. As the demands on software systems increase, assessing the risk of software aging becomes crucial, especially in modern systems requiring high availability, such as blockchain platforms. Herein, we quantitatively evaluated the risk of software aging in Hyperledger Fabric, a permissioned blockchain. We subjected Hyperledger Fabric to various loads in an experimental environment and monitored memory and CPU usage fluctuations. Through statistical tests—including the Mann-Kendall test, modified Cox-Stuart test, and Sen’s slope estimation—we identified the risk of software aging in terms of memory and CPU usage across all peers.
Leonardo Scommegna (University of Florence), Marco Becattini (University of Florence), Giovanni Fontani (University of Florence), Leonardo Paroli (University of Florence) and Enrico Vicario (University of Florence, Information Engineering Department). Quantitative evaluation of software rejuvenation of a pool of service replicas.
Abstract. Cloud-based systems require the management of large volumes of requests while maintaining specific levels of availability and performance. Each service is thus replicated into a pool of identical replicas. This allows for load distribution among the pool of replicas and a greater degree of fault tolerance compared to a single instance of the service that stands as a single point of failure. The high availability and scalability requirements, coupled with the phenomenon of software aging, have made the replica-based approach pervasive in modern online services. In such configurations, the unavailability of a single replica, due to scheduled maintenance or unexpected failures, does not imply the unavailability of the whole system but rather an increase in the load of the remaining replicas. This identifies a performability problem in which the system can tolerate a certain number of offline replicas in the pool. However, once a certain threshold is exceeded, the resulting high workload pending on the online replicas could degrade the performance of the system, potentially leading to a failure in meeting the non-functional requirements. In this work, we study the problem of aging in a pool of service replicas. We characterize two inspection-based rejuvenation strategies that could be implemented in this context, which we identify as uncoordinated and coordinated rejuvenation. We represent them through the formalism of Stochastic Time Petri Nets (STPN) and through steady-state analysis, we conduct a performability evaluation of both the models as the frequency of inspections and the pool size vary.
Carlos Eduardo de Schuller Banjar (UFRJ), Daniel Sadoc Menasché (Federal University of Rio de Janeiro) and Alberto Avritzer (eSulabSolutions). Splitting Application Input into Batches as a Countermeasure Against Software Aging.
Abstract. In the realm of software aging and rejuvenation, our study addresses a challenging bug encountered during the development of a crawler and parser of webpages. The bug, originating from an external Python library, proved difficult to reproduce due to its dependency on specific conditions, notably requiring a substantial number of iterations to manifest. This paper details the extensive debugging process undertaken to identify and address this issue. Through methodical analysis and testing, we discovered that the bug's impact was mitigated by dividing prolonged executions into manageable batches. This approach not only resolved the issue but also offered insights into effective strategies for managing complex bugs in long-running processes. Our findings contribute to a deeper understanding of handling software aging issues and provide practical solutions for enhancing the stability of complex applications.