Towards Automatic Updates of Software Dependencies based on Artificial Intelligence
Software reusability encourages developers to heavily rely on a variety of third-party libraries and packages, resulting in dependent software products. Often ignored by developers due to the risk of breakage but dependent software have to adopt security and performance updates in their external dependencies. Existing work advocates a shift towards Automatic updation of dependent software code to implement update dependencies. Emerging automatic dependency management tools notify the availability of new updates, detect their impacts on dependent software and identify potential breakages or other vulnerabilities. However, support for automatic source code refactoring to fix potential breaking changes (to the best of my current knowledge) is missing from these tools. This paper presents a prototyping tool, DepRefactor, that assist in the programmed refactoring of software code caused by automatic updating of their dependencies. To measure the accuracy and effectiveness of DepRefactor, we test it on various students project developed in C#.
-
Automatic Updates of Software Dependencies, Upldate Based on Artificial Intelligence, Automatice Software Dependencies Updation
-
(1) Naveed Jhamat
Assistant Professor, Department of Information Technology, University of the Punjab, Gujranwala Campus, Lahore, Pakistan
(2) Zeeshan Arshad
Lecturer, Department of Information Technology, University of the Punjab, Gujranwala Campus, Lahore, Pakistan.
(3) Kashif Riaz
Department of Computer Science, Government Post Graduate College Satellite Town, Gujranwala, Punjab, Pakistan.
- Berhe, S., Maynard, M., & Khomh, F. (2020). Software Release Patterns When is it a good time to update a software component? Procedia Computer Science, 170, 618-625.
- Kula, R. G., German, D. M., Ouni, A., Ishio, T., & Inoue, K. (2018). Do developers update their library dependencies? Empirical Software Engineering, 23(1), 384-417.
- Cadariu, M., Bouwers, E., Visser, J., & van Deursen, A. (2015, March). Tracking known security vulnerabilities in proprietary software systems. In 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER) (pp. 516-519). IEEE. https://greenkeeper.io/ https://travis-ci.com/
- Hilton, M., Tunnell, T., Huang, K., Marinov, D., & Dig, D. (2016, September). Usage, costs, and benefits of continuous integration in open-source projects. In 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE) (pp. 426-437). IEEE.
- Dackebro, E. (2019). An empirical investigation into problems caused by breaking changes in API evolution.
- GitHub. (2020) https://github.com/.
- NISTNVD. (2020) https://semver.org/.
- Tsantalis, N., Mansouri, M., Eshkevari, L., Mazinanian, D., & Dig, D. (2018, May). Accurate and efficient refactoring detection in commit history. In 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE) (pp. 483-494). IEEE.
- Rasool, G., & Arshad, Z. (2015). A review of code smell mining techniques. Journal of Software: Evolution and Process, 27(11), 867-895.
- Rasool, G., & Arshad, Z. (2017). A lightweight approach for detection of code smells. Arabian Journal for Science and Engineering, 42(2), 483-506.
- Chávez, A., Ferreira, I., Fernandes, E., Cedrim, D., & Garcia, A. (2017, September). How does refactoring affect internal quality attributes? A multi-project study. In Proceedings of the 31st Brazilian Symposium on Software Engineering (pp. 74-83).
- AlOmar, E. A., Mkaouer, M. W., Ouni, A., & Kessentini, M. (2019, September). On the impact of refactoring on the relationship between quality attributes and design metrics. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (pp. 1-11). IEEE.
- Xavier, L., Brito, A., Hora, A., & Valente, M. T. (2017, February). Historical and impact analysis of API breaking changes: A large-scale study. In 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp. 138-147). IEEE.
- Mirhosseini, S., & Parnin, C. (2017, October). Can automated pull requests encourage software developers to upgrade out-of-date dependencies? In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE) (pp. 84-94). IEEE. https://daviddm.org/
- Brito, A., Xavier, L., Hora, A., & Valente, M. T. (2018, March). APIDiff: Detecting API breaking changes. In 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp. 507-511). IEEE.
- Pashchenko, I., Vu, D. L., & Massacci, F. (2020, October). A qualitative study of dependency management and its security implications. In Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security (pp. 1513-1531).
Cite this article
-
APA : Jhamat, N., Arshad, Z., & Riaz, K. (2020). Towards Automatic Updates of Software Dependencies based on Artificial Intelligence. Global Social Sciences Review, V(III), 174-180. https://doi.org/10.31703/gssr.2020(V-III).19
-
CHICAGO : Jhamat, Naveed, Zeeshan Arshad, and Kashif Riaz. 2020. "Towards Automatic Updates of Software Dependencies based on Artificial Intelligence." Global Social Sciences Review, V (III): 174-180 doi: 10.31703/gssr.2020(V-III).19
-
HARVARD : JHAMAT, N., ARSHAD, Z. & RIAZ, K. 2020. Towards Automatic Updates of Software Dependencies based on Artificial Intelligence. Global Social Sciences Review, V, 174-180.
-
MHRA : Jhamat, Naveed, Zeeshan Arshad, and Kashif Riaz. 2020. "Towards Automatic Updates of Software Dependencies based on Artificial Intelligence." Global Social Sciences Review, V: 174-180
-
MLA : Jhamat, Naveed, Zeeshan Arshad, and Kashif Riaz. "Towards Automatic Updates of Software Dependencies based on Artificial Intelligence." Global Social Sciences Review, V.III (2020): 174-180 Print.
-
OXFORD : Jhamat, Naveed, Arshad, Zeeshan, and Riaz, Kashif (2020), "Towards Automatic Updates of Software Dependencies based on Artificial Intelligence", Global Social Sciences Review, V (III), 174-180
-
TURABIAN : Jhamat, Naveed, Zeeshan Arshad, and Kashif Riaz. "Towards Automatic Updates of Software Dependencies based on Artificial Intelligence." Global Social Sciences Review V, no. III (2020): 174-180. https://doi.org/10.31703/gssr.2020(V-III).19