Our research focuses on the intersection of artificial intelligence (AI) and software development, particularly the role of AI models in automating code generation. With advancements in large language models like ChatGPT, developers can now generate code from natural language prompts, a task that traditionally required significant manual input and expertise. AI-generated code promises to boost productivity by enabling faster prototyping and automating repetitive coding tasks. However, as these models are increasingly adopted in real-world applications, questions surrounding their efficiency and code quality become critical. This research investigates ChatGPT-4o, a state-of-the-art language model, and its ability to generate functional, high-quality code in different programming languages. By comparing performance between Python and Java, the study seeks to shed light on AI’s capabilities and limitations in code generation, addressing not only functional correctness but also broader software engineering concerns such as memory usage, runtime efficiency, and maintainability. The study addresses key questions related to the performance, code quality, and error management of AI-generated code by analyzing solutions for 300 data structure problems and 300 problems from the LeetCode platform. The findings reveal notable performance differences between the two languages: Java demonstrated superior runtime performance, particularly for medium and hard problems, while Python exhibited better memory efficiency across all complexity levels. The research also highlighted significant gaps in code quality, with both languages showing deficiencies in documentation and exception management. This study contributes to the literature by offering a comprehensive cross-language analysis of ChatGPT-4o’s programming capabilities, addressing a gap in the evaluation of AI-generated code performance.
Open learning aims to deliver different educational services and activities for learners throughout an organised set of policies and procedures. The ultimate objective of such policies is to minimise the geographical and time limitations that might affect the students’ performance during his or her academic life. The Arab Open University in Saudi Arabia is one of the leading universities that deliver open learning education in the Middle East. To achieve its mission, AOU utilises virtual classes’ technologies as a teaching mode for its learners. In this study, we study and analyse the students’ academic performance in virtual classes against the traditional face-to-face classes. The usefulness of this study arises from its importance in directing the decision makers at AOU of the efficiency of virtual classes as a delivery mode of teaching and a set of recommendation for future enhancement.
1 January 2022 in Intelligent Automation and Soft Computing
Securing communication over public communication channels is one of the challenging issues in the field of cryptography and information security. A stream cipher is presented as an approach for securing exchanged data between different parties through encryption. The core of stream cipher relies on its keystream generator, that is responsible for generating random and secure keystream of encrypting streaming data. Thus, the security of the keystream is measured by its randomness and its resistance to statistical and cryptanalytic attacks. As there is always a trade-off between the security and performance while designing new cryptographic primitives, we introduce a game theory-based stream cipher that performs fast and utilises the unpredictable behaviour of prisoners’ dilemma players to generate random sequences that serve as keystreams. To assure further security, the ciphertext is coded by DNA bases that are randomly scrambled at the beginning of every iteration of generating new keystream. The proposed stream cipher’s performance and security are thoroughly examined in terms of randomness, performance, and resistance to cryptanalytic attacks. The experiments show that our stream cipher can encrypt around 1230 Mbit/s. Statistically, our proposed stream cipher passed the NIST statistical tests successfully.
Static analysis is one of the techniques used today to analyze source codes and minimize the issue of software vulnerability. Static analysis has the ability to observe all possible software paths in an application through the scrutiny of a web application’s source code. Among those paths, some may be considered feasible paths, which refer to any paths that the test cases can execute. The detection of feasible paths in the results of a static analysis helps to minimize the false positive rate. However, the detection of feasible paths can be challenging, especially for programs that have multiple conditions in the same branch. The aim is to ensure that each feasible path is detected only once (not duplicated). This paper proposes an approach based on minimal static single assignment (MSSA) form and symbolic execution to detect feasible paths. The proposed approach starts by converting the source code into an abstract syntax tree (AST), followed by converting the AST to minimal SSA representation, which helps to decrease the number of instructions in the SSA form. An algorithm was built to examine all of the instructions of the SSA form, identify whole paths in the source code, and extract constraints along each path. A path weight method (PWM) is proposed in this work to avoid detecting duplicated feasible paths. The satisfiability modulo theory (SMT) solver was used to check the satisfiability of each path condition. The proposed approach was tested on seven well-known test programs that have been used in related studies and 10 large scale programs. The experimental results indicate that the proposed method (PWM) can avoid detecting duplicated feasible paths, and the proposed approach reduced the time required for generating the paths compared to that in related studies.
There is an increasing need for secure and fast encryption algorithms to support applications and communication protocols, and business models. In this paper, we present an alternative stream cipher (Strike) inspired by the stochastic behaviour of lightning strike phenomena. The novelty and originality of Strike stem from the utilisation of lightning strike behaviour as a source for generating random keystreams for encryption and decryption. Strike consists of three main functions: a function for setting up the security attributes, a function for generating lightning strikes and converting them to a keystream, and a function for plaintext encryption. The proposed stream cipher was tested against several cryptanalysis and statistical attacks in addition to other performance tests. The results show that Strike achieves high throughput on both high- and low-speed devices. Additionally, security analysis shows that our cipher is resistant to cryptanalysis and statistical attacks.
As the global demand for clean and sustainable energy grows, photovoltaics (PVs) have become an important technology in this industry. Thin-film and flexible PV modules offer noticeable advantages for irregular surface mounts and mobile applications. This study investigates the use of four machine learning models to detect different flexible PV module geometries based on power output data. Three identical flexible PV modules were mounted in flat, concave, and convex configurations and connected to batteries via solar chargers. The experimental results showed that all geometries fully charged their batteries within 6–7 h on a sunny day with the flat, concave-, and convex-shaped modules achieving a peak power of 95 W. On a cloudy day, the concave and convex modules recorded peak outputs of 72 W and 65 W, respectively. Simulation results showed that the XGBoost model delivered the best classification performance, showing 93% precision with the flat-mounted module and 98% recall across all geometries. In comparison, the KAN model recorded the lowest precision (78%) with the curved geometries. A calibration analysis on the ML models showed that Random Forest and XGBoost were well calibrated for the flat-mounted module. However, they also showed overconfidence and underconfidence issues with the curved module geometries.