SYSTEMATIC REVIEW OF TECHNIQUES AND TOOLS FOR OPTIMIZING USAGE OF THE SWIFT PROGRAMMING LANGUAGE
DOI:
https://doi.org/10.24867/29OI05MelovicKeywords:
Swift, Programming language, iOS, Objective-C, Evaluation, Performance, Code qualityAbstract
This paper provides a systematic literature review of the techniques and tools that developers use to overcome the challenges they face when using the Swift programming language. The paper investigates different categories of problems that affect the performance of applications written in Swift. It highlights the strengths and limitations of current approaches that allow developers to use Swift more effectively and improve the performance of their applications. It also suggests directions for future research that could contribute to the further improvement of practices and tools for working with the mentioned language.
References
[1] D. Dominguez-Alvarez, A. Gorla, and J. Caballero, ‘On the Usage of Programming Languages in the iOS Ecosystem’, in 2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM), Limassol, Cyprus: IEEE, Oct. 2022, pp. 176–180.
[2] C. González García, J. Pascual-Espada, C. Pelayo G-Bustelo, and J. M. Cueva-Lovelle, ‘Swift vs. Objective-C: A New Programming Language’, IJIMAI, vol. 3, no. 3, p. 74, 2015.
[3] R. Fojtik, ‘Swift a New Programming Language for Development and Education’, in Digital Science 2019, vol. 1114, T. Antipova and Á. Rocha, Eds., in Advances in Intelligent Systems and Computing, vol. 1114. Cham: Springer International Publishing, 2020, pp. 284–295.
[4] https://kth.diva-portal.org/smash/get/diva2:1793389/FULLTEXT01.pdf (pristupljeno u junu 2024.)
[5] https://www.diva-portal.org/smash/get/diva2:1215717/FULLTEXT01.pdf (pristupljeno u junu 2024.)
[6] https://scg.unibe.ch/archive/projects/Stul20a.pdf (pristupljeno u junu 2024.)
[7] M. Reboucas, G. Pinto, F. Ebert, W. Torres, A. Serebrenik, and F. Castor, ‘An Empirical Study on the Usage of the Swift Programming Language’, in 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), Suita: IEEE, Mar. 2016, pp. 634–638.
[8] ‘Toward Understanding Bugs in Swift Programming Language’, in 2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security (QRS), Chiang Mai, Thailand: IEEE, 2023.
[9] K. Rahkema and D. Pfahl, ‘Vulnerability Propagation in Package Managers Used in iOS Development’, in 2023 IEEE/ACM 10th International Conference on Mobile Software Engineering and Systems (MOBILESoft), May 2023, pp. 60–69.
[10] R. Barik, M. Sridharan, M. K. Ramanathan, and M. Chabbi, ‘Optimization of swift protocols’, Proc. ACM Program. Lang., vol. 3, no. OOPSLA, pp. 1–27, Oct. 2019.
[11] K. Rahkema and D. Pfahl, ‘Comparison of Code Smells in iOS and Android Applications’, 2020.
[12] F. Rabbi, S. S. Hossain, and M. M. S. Arefin, ‘SCMA: A Lightweight Tool to Analyze Swift Projects’, presented at the The 34th International Conference on Software Engineering and Knowledge Engineering, Jul. 2022, pp. 440–443.
[13] S. S. Afjehei, T.-H. (Peter) Chen, and N. Tsantalis, ‘iPerfDetector: Characterizing and detecting performance anti-patterns in iOS applications’, Empir Software Eng, vol. 24, no. 6, pp. 3484–3513, Dec. 2019.
[14] P. Chakraborty, R. Shahriyar, A. Iqbal, and G. Uddin, ‘How do developers discuss and support new programming languages in technical Q&A site? An empirical study of Go, Swift, and Rust in Stack Overflow’, Information and Software Technology, vol. 137, p. 106603, Sep. 2021.
[2] C. González García, J. Pascual-Espada, C. Pelayo G-Bustelo, and J. M. Cueva-Lovelle, ‘Swift vs. Objective-C: A New Programming Language’, IJIMAI, vol. 3, no. 3, p. 74, 2015.
[3] R. Fojtik, ‘Swift a New Programming Language for Development and Education’, in Digital Science 2019, vol. 1114, T. Antipova and Á. Rocha, Eds., in Advances in Intelligent Systems and Computing, vol. 1114. Cham: Springer International Publishing, 2020, pp. 284–295.
[4] https://kth.diva-portal.org/smash/get/diva2:1793389/FULLTEXT01.pdf (pristupljeno u junu 2024.)
[5] https://www.diva-portal.org/smash/get/diva2:1215717/FULLTEXT01.pdf (pristupljeno u junu 2024.)
[6] https://scg.unibe.ch/archive/projects/Stul20a.pdf (pristupljeno u junu 2024.)
[7] M. Reboucas, G. Pinto, F. Ebert, W. Torres, A. Serebrenik, and F. Castor, ‘An Empirical Study on the Usage of the Swift Programming Language’, in 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), Suita: IEEE, Mar. 2016, pp. 634–638.
[8] ‘Toward Understanding Bugs in Swift Programming Language’, in 2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security (QRS), Chiang Mai, Thailand: IEEE, 2023.
[9] K. Rahkema and D. Pfahl, ‘Vulnerability Propagation in Package Managers Used in iOS Development’, in 2023 IEEE/ACM 10th International Conference on Mobile Software Engineering and Systems (MOBILESoft), May 2023, pp. 60–69.
[10] R. Barik, M. Sridharan, M. K. Ramanathan, and M. Chabbi, ‘Optimization of swift protocols’, Proc. ACM Program. Lang., vol. 3, no. OOPSLA, pp. 1–27, Oct. 2019.
[11] K. Rahkema and D. Pfahl, ‘Comparison of Code Smells in iOS and Android Applications’, 2020.
[12] F. Rabbi, S. S. Hossain, and M. M. S. Arefin, ‘SCMA: A Lightweight Tool to Analyze Swift Projects’, presented at the The 34th International Conference on Software Engineering and Knowledge Engineering, Jul. 2022, pp. 440–443.
[13] S. S. Afjehei, T.-H. (Peter) Chen, and N. Tsantalis, ‘iPerfDetector: Characterizing and detecting performance anti-patterns in iOS applications’, Empir Software Eng, vol. 24, no. 6, pp. 3484–3513, Dec. 2019.
[14] P. Chakraborty, R. Shahriyar, A. Iqbal, and G. Uddin, ‘How do developers discuss and support new programming languages in technical Q&A site? An empirical study of Go, Swift, and Rust in Stack Overflow’, Information and Software Technology, vol. 137, p. 106603, Sep. 2021.
Downloads
Published
2025-01-05
Issue
Section
Information Systems Engineering