Modern Web Applications rely on architectures usually designed with modular software components whose behaviour is shaped over fundamental principles and characteristics of the HTTP protocol. Dependency Injection frameworks support designers and developers in the automated management of components lifecycle, binding them to predefined scopes, thus delegating to an outer and independent participant the responsibility of creation, destruction and inter-dependencies definition of runtime instances. In this way, different scopes configurations implicitly act as different software micro-rejuvenation policies, emphasising the importance of choices in the assignment of component scopes; while supporting the stateful behaviour in data-retention mechanism, wider scopes may majorly expose in-memory components to software aging processes.We report a practical experience illustrating how the memory maintained in the business logic of a Web Application may give space to aging processes affecting the runtime behaviour of a stateful web application, and we show how this threat is contrasted by micro-rejuvenation at component level implemented by the container under different assignment strategies for components scopes. To this end, we propose an accelerated testing approach relying on a fault injection process that executes an event-driven simulation of arising soft errors over time. Experimentation on an exemplary web application implemented on the stack of Java Enterprise Edition show how manifestation, correction, and propagation of errors are conditioned by different scopes assigned to components by the software developer.
Evaluation of software aging in component-based Web Applications subject to soft errors over time / Parri, Jacopo; Sampietro, Samuele; Scommegna, Leonardo; Vicario, Enrico. - ELETTRONICO. - (2021), pp. 25-32. (Intervento presentato al convegno INTERNATIONAL WORKSHOP ON SOFTWARE AGING AND REJUVENATION) [10.1109/issrew53611.2021.00040].
Evaluation of software aging in component-based Web Applications subject to soft errors over time
Parri, Jacopo;Sampietro, Samuele;Scommegna, Leonardo
;Vicario, Enrico
2021
Abstract
Modern Web Applications rely on architectures usually designed with modular software components whose behaviour is shaped over fundamental principles and characteristics of the HTTP protocol. Dependency Injection frameworks support designers and developers in the automated management of components lifecycle, binding them to predefined scopes, thus delegating to an outer and independent participant the responsibility of creation, destruction and inter-dependencies definition of runtime instances. In this way, different scopes configurations implicitly act as different software micro-rejuvenation policies, emphasising the importance of choices in the assignment of component scopes; while supporting the stateful behaviour in data-retention mechanism, wider scopes may majorly expose in-memory components to software aging processes.We report a practical experience illustrating how the memory maintained in the business logic of a Web Application may give space to aging processes affecting the runtime behaviour of a stateful web application, and we show how this threat is contrasted by micro-rejuvenation at component level implemented by the container under different assignment strategies for components scopes. To this end, we propose an accelerated testing approach relying on a fault injection process that executes an event-driven simulation of arising soft errors over time. Experimentation on an exemplary web application implemented on the stack of Java Enterprise Edition show how manifestation, correction, and propagation of errors are conditioned by different scopes assigned to components by the software developer.I documenti in FLORE sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.