Application update at run-time remains a challenging issue in software engineering. There are many techniques with different evaluation metrics, resulting in different behaviours in the application being updated. In this paper, we provide an extensive review of research work on dynamic software updating. A framework for the evaluation of dynamic updating features is developed, and the articles are categorized and discussed based on the provided framework. Areas of online software maintenance requiring further research are also identified and highlighted. This information is deemed to not only assist practitioners in selecting appropriate dynamic updating techniques for their systems, but also to facilitate the ongoing and continuous research in the field of dynamic software updating.
To cope with demands for new and extended functionality, software systems must be updated regularly. This usually requires providing some new codes, merging these codes into the archaic program, and restarting the updated application. This process results in disrupting programs that may be unacceptable, especially in real-time environments which have strict timing constraints. Even, an update which doesn't require the system to stop but causes a deadline to be missed is not a good one in real-time systems. In this paper, we propose a new approach to dynamically update a real-time application without having to disrupt the program. Our method can be applied to update real-time applications in which the rate-monotonic scheduling algorithm is used, while preserving the original deadline guarantees.
Nowadays, Android applications play a major role in software industry. Therefore, having a system that can help companies predict the success probability of such applications would be useful. Thus far, numerous research works have been conducted to predict the success probability of desktop applications using a variety of machine learning techniques. However, since features of desktop programs are different from those of mobile applications, they are not applicable to mobile applications. To our knowledge, there has not been a repository or even a method to predict the success probability of Android applications so far. In this research, we introduce a repository composed of 100 successful and 100 unsuccessful apps of Android operating system in Google PlayStoreTM including 34 features per application. Then, we use the repository to a neural network and other classification algorithms to predict the success probability. Finally, we compare the proposed method with the previous approaches based on the accuracy criterion. Experimental results show that the best accuracy which we achieved is 99.99%, which obtained when we used MLP and PCA, while the best accuracy achieved by the previous work in desktop platforms was 96%. However, the time complexity of the proposed approach is higher than previous methods, since the time complexities of NPR and MLP are O$$( n^3$$
(
n
3
) and O$$( nph^koi$$
(
n
p
h
k
o
i
), respectively.
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.