The 6th International Workshop on Software Aging and Rejuvenation

Hotel RC - Sveva Room

WoSAR Opening

Monday, Nov. 3, 09:00 - 09:15

Fumio Machida, Roberto Pietrantuono, Rivalino Matias, Katinka Wolter. Opening Remarks


WoSAR Keynote 1

Monday, Nov. 3, 09:15 - 10:30

Chair: Katinka Wolter

Antonio Puliafito. Keynote 1: Software Rejuvenation in Cloud Systems


WoSAR #1: Rejuvenation Planning

Monday, Nov. 3, 11:00 - 12:30

Chair: Laura Carnevali

1.     Eitan Altman, Alberto Avritzer, Rachid El-Azouzi and Daniel Sadoc Menasche. Rejuvenation and the Spread of Epidemics in General Topologies

2.     Qiushi Wang and Katinka Wolter. Detection and Analysis of Performance Deterioration in Mobile Offloading System

3.     Jing Zhao, Yan-Bin Wang, Gao-Rong Ning, Cheng-Hong Wang, Kishor S. Trivedi, Kai-Yuan Cai, and Zhen-Yu Zhang. Software maintenance optimization based on Stackelberg game methods


WoSAR Keynote 2

Monday, Nov. 3, 14:00 - 15:00

Chair: Jinghui Li

Stefano Russo. Keynote 2: The Dual Nature of Software Aging: Twenty Years of Software Aging Research


WoSAR #3: Aging Analysis and Mitigation

Monday, Nov. 3, 15:00 - 15:30

Chair: Jinghui Li

1.     Domenico Cotroneo and Roberto Natella. Towards Patching Memory Leak Bugs in Off-The-Shelf Software


WoSAR #4: Aging Analysis and Mitigation

Monday, Nov. 3, 16:00 - 17:30

Chair: Pasqualina Potena

1.     Yongquan Yan, Ping Guo and Lifeng Liu. A novel hybridization of artificial neural networks and ARIMA models for forecasting resource consumption in an IIS web server

2.     Yongquan Yan, Ping Guo and Lifeng Liu. A practice of forecasting software aging in an IIS web server using SVM

3.     Maurizio Leotta, Andrea Stocco, Filippo Ricca and Paolo Tonella. Reducing Web Test Cases Aging by means of Robust XPath Locators


WoSAR Discussion and Closing

Monday, Nov. 3, 17:30 - 18:00

Chair: Katinka Wolter


Rejuvenation and the Spread of Epidemics in General Topologies
Epidemic models have received significant attention in the past few decades to study the propagation of viruses, worms and ideas in computer and social networks.  In the case of viruses, the goal is to understand how the topology of the network and the properties of the nodes that comprise the network, together, impact the spread of the epidemics.  In this paper, we propose rejuvenation as a way to cope with epidemics. Then, we present a model to study the effect of rejuvenation and of the topology on the steady-state number of infected and failed nodes.  We distinguish between a state in which the virus is incubating and in which symptoms might not  be visible and yet they may be contagious and infecting other nodes, and a state of failure where symptoms areclear.  Sampling costs might be incurred to examine nodes in search for viruses at an early stage.     Using the proposed model,  we show that the sampling rate admits at most one local minimum greater than zero.  Then, we numerically illustrate the impact of different system parameters on the optimal sampling rate, indicating when rejuvenation is more beneficial.

Detection and Analysis of Performance Deterioration in Mobile Offloading System
Offloading is an advanced technique to improve the performance of mobile devices by migrating heavy computation to remote powerful servers. The completion of an offloading task requires a reliable network connection and a stable remote server. Therefore, the system performance is determined by the network quality and the server service rate. In this paper, we present an experiment to measure the system performance using task completion time as metric. We detect that system performance is not stable at some moments. For identifying the cause of performance deterioration, we analyse the impact of server and network. It is well known that software aging is a common phenomenon in computer systems, which may cause frequent software faults and finally result in system outage. As rejuvenation is used to counteract software aging, through our experiment, we observed the impact of periodical rejuvenation on the offloading system. Although the rejuvenation process impairs the system performance temporarily, long-term stability of the server is guaranteed. We further explore the impact of poor network quality, which is the main factor degrading the system performance. To improve the system performance, we proved that restart is an efficient mechanism in theory.

Software Maintenance Optimization based on Stackelberg game methods
Application servers (AS) of virtualized platform maysuffer from software aging problem. In this paper, we firstformulate the system model including three virtual machines.Two of them act as the main servers, and the third machine actsas the backup node. The motivation of our formulated model isthat the relationship between the service provider and the servicemaintainer is collaborative as well as having different goalsbetween them, the service provider as a leader wants to maximizehis system availability, while the service maintainer wants tominimize his maintenance cost. Thus, the problem of maximizingavailability and minimizing cost between the service provider andservice maintainer is Stackelberg game based. Next, we assumethat the AS degradation is caused by resource consumptiondue to memory leaks for the AS on the active VMs, and wepresent the system degradation states based on Markov renewalprocesses. We give the analytical definitions of threshold levelsfor Ralert at each VM, which are used to determine the optimalrejuvenation schedules. In addition, we obtain the steady-stateavailability expressions for the system and the mean maintenancecost. Finally, we give the Stackelberg strategy with the open-loopinformation and the solutions for the game theory by a numericalillustration.

Towards Patching Memory Leak Bugs in Off-The-Shelf Software
Static and dynamic analysis techniques for bug detection have significantly improved in the last decades, and are today implemented in industry-strength tools and routinely applied by developers. Nevertheless, it is still difficult to deal with bugs located in OTS software, since developers lack the source code and/or knowledge about their internals to fix these bugs. In this paper, we propose an approach for fixing memory leak bugs in OTS software, that leverages dynamic binary analysis tools to find bugs, and binary code rewriting to patch them. Patching will allow to rejuvenate OTS-based software less frequently, thus further improving the availability of applications using this approach. Future work will implement this approach in a prototype, and validate it on real memory leaks found in complex software.

A novel hybridization of artificial neural networks and ARIMA models for forecasting resource consumption in an IIS web server
Software aging has been observed in a long running software application. A technique named rejuvenation is proposed to counteract this problem. The key to the aging and rejuvenation problem is how to analyze/forecast the resource consumption of software system. In this paper, we propose a methodology of hybrid ARIMA and artificial neural networks to forecast resource consumption in an IIS web server which is a running commercial server and subjected to software aging. The proposed hybrid method consists of two steps. In the first step, an ARIMA model is used to analyze the linear component of the data. In the second step, an artificial neural network model is developed to model the residuals from ARIMA model. The results show that the proposed hybrid model can be a good trade-off to forecast resource consumption.

A practice of forecasting software aging in an IIS web server using SVM
Software aging is a phenomenon observed in a long running software application, where the state of software degrades and leads to performance degradation, hang/crash failures or both. In fact, it is difficult to detect software aging due to the long delay before aging appearance. Therefore, how to fast and accurately detect software aging problem in a long running system is a big challenge. Since software aging has been studied two decades, many scholars focused on Markov model or time series to model software aging process; however, classification algorithm as a power method has been neglected. In this paper, a classification algorithm called support vector machine is used to model software aging process through collected parameters of an IIS web server that is a running commercial server. Through the analysis of the experiment results, using SVM for software aging prediction is an efficient way to predict software aging in advance.

Reducing Web Test Cases Aging by means of Robust XPath Locators
In the context of web regression testing, the main aging factor for a test suite is related to the continuous evolution of the underlying web application that makes the test cases broken. This rapid decay forces the quality experts to evolve the testware. One of the major costs of test case evolution is due to the manual effort necessary to repair broken web page element locators. Locators are lines of source code identifying the web elements the test cases interact with. Web test cases rely heavily on locators, for instance to identify and fill the input portions of a web page (e.g., the form fields), to execute some computations (e.g., by locating and clicking on buttons) and to verify the correctness of the output (by locating the web page elements showing the results).In this paper we present ROBULA (ROBUst Locator Algorithm), a novel algorithm able to partially prevent and thus reduce the aging of web test cases by automatically generating robust XPath-based locators that are likely to work also when new releases of the web application are created. Preliminary results show that XPath locators produced by ROBULA are substantially more robust than absolute and relative locators, generated by state of the practice tools such as FirePath. Fragility of the test suites is reduced on average by 56% for absolute locators and 41% for relative locators.