Dynamic software updating (DSU) systems patch programs on the fly without incurring downtime.To avoid failures due to the updating process itself, many DSU systems employ timing restrictions.However, timing restrictions are theoretically imperfect, and their practical effectiveness is an open question. This paper presents the first significant empirical evaluation of three popular timing restrictions: activeness safety (AS), which prevents updates to active functions; con-freeness safety (CFS), which only allows modifications to active functions when doing so is provably type-safe; and manual selection, which permits updates at developer chosen program points.We evaluated these timing restrictions using a series of DSU patches to three programs: OpenSSH, vsftpd, and ngIRCd. We systematically applied updates at each distinct update point reached during execution of a suite of system tests for these programs to determine which updates pass and which fail.We found that all three timing restrictions prevented most failures, but only manual selection allowed none. Further, although CFS and AS allowed many more update points, manual selection still supported updates with minimal delay. Finally, we found that manual selection required the least developer effort.Overall, we conclude that manual selection is most effective.
Recent years have seen significant advances in dynamic software updating (DSU) systems, which allow programs to be patched on the fly. However, a significant challenge remains: How can we ensure the act of applying a patch does not itself introduce errors? In this paper, we address this problem by presenting a new systematic testing methodology for updatable programs. Our idea is to transform standard system tests into update tests that execute as before, but each transformed test applies a patch at a different update point during execution. To mitigate the increase in the number of tests, we developed an algorithm for test suite minimization that finds a subset of update points that, if fully tested, yields the equivalent to full update point coverage. We implemented our approach and evaluated it on OpenSSH and vsftpd, two widely used server applications. We found that minimization is highly effective, reducing the number of update tests required for full coverage by 93%.
No abstract
This paper presents RegeXeX (Regular expression exercises), an interactive system for teaching students to write regular expressions. The system poses problems (prose descriptions of languages), students enter solutions (regular expressions defining these languages), and the system provides feedback. What is novel in this system is the type of feedback: students are not merely told that a submitted regular expression is wrong, they are given examples of strings that the expression either matches and shouldn't or does not match and should, and asked to try again. Additionally, student responses need only be equivalent to the solution, not identical. Results of classroom experience with this system are also reported, and demonstrate its effectiveness in teaching students to write regular expressions with little or no instructor interaction.RegeXeX is a freely available, portable system, written in C++ and using the Qt library for its GUI. It is distributed with several exercise sets, but is designed so instructors can easily write their own. The system logs student work and offers facilities for submitting log-files to instructors as well, allowing for automatic grading, or in-depth analysis of student performance and evolution of responses throughout the exercise set.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.