
We have organized the Generative AI based Software Engineering workshop, co-located with the 18th Innovations in Software Engineering Conference (ISEC) at Kurukshetra, India on 20th Feb. 2025. We describe the objectives and brief contents of the workshop and are hoping that the execution of the planned contents during the workshop will meet the set objectives.
Software developers nowadays routinely publish REST APIs to make their applications accessible to clients. To support the development of REST APIs, many testing techniques and tools have been developed that automatically explore the API endpoints, using various strategies, intending to increase coverage and detect bugs. However, these techniques can produce test cases that may not be suitable for creating functional test suites. In this paper, we address the problem of automatically generating realistic functional test cases for REST APIs. Our work is guided by interactions with practitioners and the approaches they follow for performing functional testing of REST APIs. Our technique first groups the API operations by the resources they manipulate; it then employs a novel approach for inferring producer-consumer relations between operations, fine-grained subtyping of HTTP methods, and language-model-based sequencing to construct operation sequences that correspond to functional scenarios. We evaluated the effectiveness of our technique and compared it against state-of-the-art REST API testing tools. Our results show that the technique produces test cases that can better support functional testing of REST APIs than the other tools.
Periodic applications include tasks that run continuously over certain intervals, which can lead to data races with concurrency. Locks have been traditionally used as a synchronization mechanism to ensure correctness. However, it is possible that a low priority task gets preempted for a high priority task while holding a lock that the high priority task requires. In safety-critical systems, this can result in undesirable situations where high priority tasks have to wait for low priority tasks to complete, violating its periodicity and priority. While prior works have proposed techniques for race detection in applications without nested locking, these techniques do not generalize to applications using nested locks. In this work, we present a worst-case response time analysis and a sound technique for static race detection in the context of periodic applications having nested locking behavior. Our algorithm offers a conservative upper bound for task response times when dealing with periodicity and addressing the complexities introduced by nested locks. Our approach improves the safety and dependability of concurrent periodic programs with nested locks. We implement our algorithm in Rust, and evaluate its performance and correctness on a set of programs.
The seventh Workshop on Emerging Software Engineering Education (WESEE) aims to discuss and examine the development of learning environments that are influencing the pedagogical strategies for the education of software engineering courses in institutions, specifically through the adoption of Generative AI (GenAI) tools and techniques. Additionally, the workshop aims to examine how industries are utilizing GenAI tools and technologies for teaching software development methods and how the developers are utilizing the material for self-learning and skill acquisition. The report is an overview of the upcoming seventh edition of WESEE, which will be held on 20.. h February 2025 at NIT Kurukshetra. The workshop will be held alongside the 18th Innovations in Software Engineering Conference (ISEC 2025).
In this work, we propose an algorithm to answer the question of why a planning problem is unsolvable in a domain modeled as linear hybrid automata. We propose an explanation algorithm using BACH, a bounded reachability checking tool for linear hybrid automata models of hybrid systems. In our explanation algorithm, source-target (extracted from the planning problem) paths of bounded length are computed from the automaton and converted into a partial automata representation. Then, on this automaton, reachability queries progressively towards the target are solved using BACH until the first infeasible transition (one will exist in an unsolvable instance) is identified on the path. Repeating this over all paths, we identify the most frequent infeasible transition (MFIT) in the planning domain. In the next phase, we start the constraint relaxation process on the paths iteratively. Beginning from the destination location of the MFIT transition, we traverse backward toward the source, one location at a time, and relax the location's continuous dynamics. After each relaxation step, a reachability query on the automaton is solved using BACH to check whether the relaxed path becomes feasible. We continue this process until a path is found that becomes feasible after relaxation(s), or none of the paths become feasible, indicating that no explanation could be derived. Upon finding a feasible path, we provide as explanation the set of locations whose dynamics are overly restrictive for the planning problem. We believe that such explanations can serve as insights for design engineers.
The rapid evolution of Large Language Models (LLMs) have opened new possibilities in automating tasks across the software developing life cycle, including test case generation This paper presents a comparative analysis of six LLMs in the context of generating test cases for technical requirements written in natural language (in this case English). We compare publicly available general purpose LLMs viz., BARD, ChatGPT3.5, Claude, Gemini, ChatGPT4.o (Omni) and Llama3. The generated test cases are tested against a Simulink model created for the corresponding set of requirements. The coverage metrics thus generated are used for a quantitative comparison of the LLMs.
There are three primary categories in which user handedness can be classified. All humans can be divided into - dominantly left handed users, dominantly right handed users, and ambidextrous users. Determination of user handedness is generally derived by observing practice of few daily activities such as eating, playing, and writing. However, it is noticed that there are certain tasks, which do not follow the same hand dominance as observed in these activities. This implies that there are certain tasks or activities for which users' preferred handedness is contradictory to the usual preferred handedness or users do not have a preferred/dominant hand. The objective of this research is to determine the hand usage for smartphone interaction by the user and to find if there is any dominance pattern for smartphone interaction. Users have the option of utilizing various smartphone holding patterns to interact with their phones; these patterns include exclusive use of the left hand, exclusive use of the right hand, or the use of both hands simultaneously. This research focuses on understanding and classifying these different smartphone holding patterns via sensor data. The sensor data is collected from three different sensors: an accelerometer, a gyroscope, and an orientation sensor. Features are derived from the collected data, and XGBooster is then used to classify the handedness in three classes (phone used with left hand, phone used with right hand, and phone used with both hands), with an accuracy of 85.04%.
RMVRVM (Remote-Model View Remote-View-Model) creates energy-efficient cloud-connected user applications. The paradigm replaces the MVVM paradigm in developing cloud-connected UI-heavy applications that run on battery-operated devices. Since the paradigm significantly affects the architecture of cloud-connected applications, adopting the RMVRVM paradigm could be challenging for IT professionals. In this paper, we present the results of the empirical study conducted to assess the acceptability and challenges of adopting the RMVRVM paradigm in industrial settings. We carried out the empirical study in two phases. In Phase 1, we conducted an online survey with the industry professionals and captured their experiences with the paradigm. In Phase 2, we solicited the opinions of domain experts by conducting focused interview sessions. The qualitative and quantitative analysis of the data shows that the proposed paradigm is acceptable among IT professionals and could be adopted in the industry, provided certain challenges are addressed before adoption.
The internet has grown to unimaginable levels that there is a large influx of data in various formats like documents and images from all sorts of sources. Given that these documents are easily accessible via mobile devices, we need to ensure that the growing volume of stored documents are managed well. To focus on the speed and efficiency of document classification in resource limited environments, this paper presents a novel On-Device Document Classification System capable of real-time processing, combining Optical Character Recognition (OCR), Convolutional Neural Networks (CNNs), and FuzzyWuzzy logic. Given the limitations of existing datasets, we curated a custom-labeled dataset for training EfficientNet and MobileNet models. We essentially combine visual and textual features through a OCR with FuzzyWuzzy logic, a CNN, and a voting algorithm to make a final classification. For this, our pipeline standardizes the input by converting documents to images, extracting text with EasyOCR, and using TF-IDF vectors as the input for our CNN. To take error into account, we utilize FuzzyWuzzy logic to enhance accuracy by matching text with class keywords. This method ensures that we receive fast and accurate classification on edge devices, preserving data privacy. It achieves 97.1% accuracy on RVL-CDIP and MASK-RCNN datasets, with real-time processing in 2.3 seconds.
It is essential to allocate virtual machines efficiently in order to optimize the resource utilization and minimize the total energy consumption in data centers (DCs). Thus, reducing the number of operational physical machines will reduce the overall energy consumption of the cloud DC. In this paper, First Fit (FF), First Fit Decrease (FFD), Best Fit (BF), Best Fit Decrease (BFD) and Genetic Algorithm (GA) heuristics have been used to allocate virtual machines (VMs) to physical machines (PMs) to get the optimal mapping. Furthermore, we estimated the total energy consumption by the resource requirements of PMs that are required to process the assigned VMs. The experimental results indicate that optimizing the number of active PMs is not always enough to minimize the total energy consumption of the DC. GA is able to get the optimal number of active PMs, but it does not always reduce the total energy consumption of the DC compared to the other employed algorithms. This highlights the necessity of considering energy consumption as a separate objective during virtual machine allocation and consolidation planning as opposed to minimizing the number of active PMs to reduce the power consumption of the data center.
Owing to the swift advancement of technology and the unfamiliarity of the execution environment, the development of Solidity smart contracts from scratch often results in significant vulnerabilities. In contrast, automated code generation enhances productivity, minimizes development time, and enables developers to focus on high-level tasks and fundamental logic. In consideration of these two viewpoints, this paper examines the utilization of large language models (LLMs) for the automatic generation of Solidity smart contracts based on specified criteria, while simultaneously ensuring the elimination of vulnerabilities through a novel masking strategy. To achieve this, we propose SolGen, a framework for generating secure Solidity smart contract code using LLMs. We assess the performance of existing LLMs (i.e. ChatGPT and Meta AI) for secure Solidity code generation. Our research indicates that ChatGPT outperforms Meta AI in performance, yielding a greater percentage of syntactically accurate and secure code. Additionally, we examine the impact of temperature adjustment on the security of generated contracts using an open-source LLM, Llama3. Our findings suggest that a temperature setting of 0.7 is optimal for the generation of Solidity code, considerably exceeding the performance of both lower and higher settings (0.1 and 1.2), especially with regard to the compilability of the code.
Medical images play an important role in diagnosis in digitalized healthcare and carry essential and sensitive information regarding effective patient care. Given the increasing volume of medical imaging data, the healthcare sector has become more reliant on cloud-based third-party storage for the purposes of effective storage and retrieval. Content-Based Medical Image Retrieval (CBMIR) has become important. However, privacy and security concerns are inherent to cloud-based solutions. This thesis has laid out a series of frameworks from different points of view to provide secure, efficient, and scalable storage and retrieval of medical images. An integrity-centric image encryption technique has been developed to ensure better security along with searchable encrypted hashcodes that can help with CBMIR. Nevertheless, achieving a balance between retrieval performance and security remains a challenge. Targeted encryption is employed to achieve this balance by focusing on sensitive regions in the images, thus exploiting fusion-based hashcodes to assist with image retrieval. For scaling purposes, a distributed storage scheme is presented, where the encrypted images are broken down into shadow segments to ensure data integrity and resilience. Edge computing is used to achieve better latency with security and scalability. The presented solutions for secure storage and retrieval of medical images provide novel frameworks to support the healthcare industry's demands in a cloud environment, making these solutions relevant for improving security, performance, and scale in digital healthcare applications.
The competitive market, dynamic business requirements and rapid growth in technologies poses a lot of challenges to deliver quality software. The application of Data Mining (DM), Machine Learning (ML), and Deep Learning (DL) for the software engineering activities such as software fault prediction, software maintainability prediction, fault localization, code refactoring and cloning etc, improves the quality of software, expedites its development and enhances the productivity of developers. On top of the existing static features and classical learning models, the recent release of CodeBERT and state-of-art deep learning models offer a promising hope of handling a wide range of software engineering operations efficiently to improvise the software quality. The proposed research topic focuses on Software Fault Prediction (SFP), and Fault Localization, two software engineering tasks to further enhance the quality of software systems through the application of DM, ML, and DL techniques. The performance of the Software Fault Prediction (SFP) model is hampered by feature redundancy, correlation, and irrelevance. The application of a prediction model to such an imbalanced class or software source code metric yields incorrect prediction results. In addition, the performance of the SFP model differs depending on which ML methods and approaches were used to train it. Hence, an extensive study of learning models with possible changes in the associated techniques along with detailed empirical results is necessary to find the most effective and high- performing SFP model. To establish the cost-effectiveness of SFP models, a cost-benefit analysis of the applied ensemble approaches is also required. By analysing a variety of dynamic execution information (such as bug reports, test results, and failed/passed tests), fault localization provides developers with the ability to locate potentially faulty code files and preferably, if possible, localize them to segments of code or methods. The fault localization task has been studied in the past using a variety of approaches, including those based on information retrieval (IR), spectral analysis, and learning-based. The challenge of fault localization techniques is test cases for spectra-based methods are rarely available and in most cases, IR-based code only functions at the file or method level and not at the line level. Fault prediction and fault localization are two topics that have traditionally been studied separately, with only sporadic instances of overlap and joint investigation, despite the fact that they both aim to support quality assurance activities at different times. Identifying and capitalising on synergies between the two areas could lead to more insightful and actionable outcomes. As a result, a significant amount of experimentation is required in order to find the most effective and the highest-performing fault localization and prediction models.
Software Fault Prediction (SFP) models help to improve source code quality by reducing the logical mistakes inside the source code. This work proposed the framework based on metrics and code embedding with the help of CODEBERT(CB) methods extracted from source code. We have used CODEBERT(CB) to extract numerical features from code and comments. The proposed framework has been validated with the help of the most frequently used machine learning classifier on 41 different Java open-source datasets. The final finding of the trained machine learning models confirms that the proposed approach effectively identifies faulty source code with an accuracy of 80.39% and an area under the curve of 0.7458.
Over the past year, Large Language Models (LLMs) have proven their value across a diverse range of industrial applications starting from supporting software development to automating customer interactions and enhancing process automation. We harness their potential for constructing Enterprise Digital Twins (EDTs), an emerging decision-making aid for a wide range of business sectors. EDT offers an effective "in silico" business experimentation leading to evidence-based informed decision-making, but its construction requires deep domain expertise spanning multiple aspects of enterprises across multiple stakeholders. Moreover, constructing an effective EDT demands seamless coordination between domain experts and expert modelers. These critical dependencies make the EDT construction challenging. This paper investigates the role of LLMs as domain experts and expert modelers to reduce excessive dependencies on both specializations and their coordination to an extent. Our approach integrates meta-modelling and Model Driven Engineering (MDE) techniques to effectively utilize LLMs with increased precision to alleviate the cognitive burden on domain experts and provide a systematic metamodel guided method for constructing purposive digital twins. We illustrate the approach and demonstrate its efficacy using a real-life EDT use case.
This is a short report on the Tutorials and Technical Briefings of the 18th Innovations in Software Engineering (ISEC 2025) conference held during 20-22 February 2025 in Kurukshetra, India. ISEC tutorials are 3-hour ( half day) or full day (6 hours) sessions providing a hands-on introduction to an emerging research area or a useful research tool on any topic relevant to software engineering. The tutorials are mainly geared towards students and young researchers and are designed to equip them with tools that can help their own research and foster new research directions. The tutorials at ISEC offer a glimpse of the state-of-the-art research in various disciplines of software engineering. ISEC Technical Briefings are 60-90 minutes compact sessions focusing on emerging directions and/or future possibilities in some software engineering and related field.