Machine learning (ML) models have gained significant attention in a variety of applications, from computer vision to natural language processing, and are almost always based on big data. There are a growing number of applications and products with built-in machine learning models, and this is the area where software engineering, artificial intelligence and data science meet. The requirement for a system to operate in a real-world environment poses many challenges, such as how to design for wrong predictions the model may make; How to assure safety and security despite possible mistakes; which qualities matter beyond a model’s prediction accuracy; How can we identify and measure important quality requirements, including learning and inference latency, scalability, explainability, fairness, privacy, robustness, and safety. It has become crucial to test thoroughly these models to assess their capabilities and potential errors. Existing software testing methods have been adapted and refined to discover faults in machine learning and deep learning models. This paper covers a taxonomy, a methodologically uniform presentation of all presented solutions to the aforementioned issues, as well as conclusions about possible future development trends. The main contributions of this paper are a classification that closely follows the structure of the ML-pipeline, a precisely defined role of each team member within that pipeline, an overview of trends and challenges in the combination of ML and big data analytics, with uses in the domains of industry and education.
This research paper explores the efficacy of WebAssembly technology in enhancing the performance of web applications, with a focus on graphic-intensive domains such as video games, simulations, and image processing. WebAssembly, a binary instruction format designed for browsers, offers performance comparable to desktop applications by executing code within a secure, low-level virtual machine environment. The study further examines the integration of WebAssembly into various programming languages such as C/C++, C#, and Rust, highlighting its cross-platform capabilities and efficient memory management. Through the development of a website that hosts retro-themed video games, the paper assesses performance across different platforms, demonstrating that while unrestricted desktop platforms show higher speeds, regulated environments exhibit negligible performance discrepancies. The findings suggest that while WebAssembly substantially boosts web application performance, opportunities for further enhancements in areas such as garbage collection, debugging, and JavaScript integration remain. This research underscores WebAssembly's potential to revolutionize web application development, providing a robust framework for future advancements in complex web-based applications.
In an attempt to address the growing shortage of cybersecurity specialists in the country, the School of Electrical Engineering, University of Belgrade, started the course entitled Advanced Network and System Security (ANS) in the 2019/2020 school year. The ANS course covers the topics of computer system and network security, intrusion detection and prevention, and ethical hacking methodologies. This paper presents the course organization and associated laboratory environment and exercises and aims to prove that providing such a multidisciplinary laboratory leads to successful learning outcomes and directly improves gained knowledge in cybersecurity. The ANS course differs from all other related courses by covering various cybersecurity topics ranging from hardware through to network to web security. The analysis showed that 13 out of 19 Cyber Security Body of Knowledge classification Knowledge Areas are covered in the ANS course, unlike other related courses which cover up to 8 Knowledge Areas. Ultimately, the students’ practical skills improvement evaluation was performed through quantitative and qualitative analysis in order to prove that improving practical skills in the ANS laboratory resulted in the overall improvement of the gained knowledge.