Digital Library[ Search Result ]
Chain-of-Thought and Chain-of-Verification Prompting for Grammar-based Test Case Generation
http://doi.org/10.5626/JOK.2025.52.1.29
Software testing is an essential but cost-intensive work in the software development process. Automatic test case generation tools are utilized to distinguish between the correct and the incorrect solutions more effectively than manually generating them. Many researchers have recently proposed deep learning-based methods to generate test cases automatically for given logical specifications of problems or programs. In this work, we propose teaching the large language models (LLMs) such as ChatGPT and Google Gemini to generate ‘test case grammars’ from problem specifications, particularly using the chain-of-thought (CoT) prompting. Additionally, we implemented it using the CoT to verify and by providing the details of generalized rules to the LLMs, termed “chain-of-verification” (CoVe). We further evaluate our method with the publicly available dataset, DeepMind CodeContests dataset, which consists of numerous programming problems ranging from beginner to advanced level and is submitted by programming students with test cases for verifying the correctness of programs.
Applying Multitopic Analysis of Bug Reports and CNN algorithm to Bug Severity Prediction
Eontae Kim, Geunseok Yang, Inhong Jung
http://doi.org/10.5626/JOK.2023.50.11.954
Bugs are common in software development. Depending on the severity of bugs, they can be classified as major errors and minor errors. In addition, the severity of the bug can be selected by the bug reporter. However, the bug reporter could apply subjective judgment, which can lead to errors in the severity judgment. To resolve this problem, in this study, we predict the bug severity by applying topic-based Severe and Non-Severe extraction with convolutional neural network (CNN) learning. First, by using the properties of the bug report, is the predicting process is divided into Global topic, Product topic, Component topic and Priority topic and the bug reports are extracted from each topic based on Severe and Non-Severe. The Severe and Non-Severe features are extracted from the Global topics, and severity features are extracted from the Product, Component and Priority topics in the same way. The extracted features are combined, put into the CNN algorithm as an input layer, and the model is trained. To evaluate the efficiency of our model, a comparison between the proposed model and the baselines were conducted in the Eclipse, Mozilla, Apache and KDE open-source projects. Our model showed an improved performance. The results showed 97% for Eclipse, 96% for Mozilla, 95% for Apache and 99% for KDE, showing an average performance improvement of about 24.59% compared to the baseline, and a statistically significant difference.
Reducing the Learning Time of Code Change Recommendation System Using Recurrent Neural Network
Byeong-il Bae, Sungwon Kang, Seonah Lee
http://doi.org/10.5626/JOK.2020.47.10.948
Since code change recommendation systems select and recommend files that needing modifications, they help developers save time spent on software system evolution. However, these recommendation systems generally spend a significant amount of time in learning accumulated data and relearning whenever new data are accumulated. This study proposes a method to reduce the time spent on learning when using Code change Recommendation System using Recurrent Neural Network (RNN-CRS), which works by avoiding the learning that is unlikely to contribute to new knowledge. For the five products used in the experimental evaluation, our proposed method reduced the time to relearn data and re-generate a learning model by as much as 49.08%-68.15%, and by 10.66% in the least effective case, compared to the existing method.
Scenario-Based Multi-core Multi-tasking of Engine Control Unit Real-Time Object-Oriented Model
http://doi.org/10.5626/JOK.2020.47.4.352
This paper proposes a method for the efficient execution of real-time object-oriented models in multi-core systems using a vehicle Engine Control Unit (ECU) system as a case study. All current commercial and open source real-time object-oriented modeling tools use objects as basic units of mapping to tasks and cores. In contrast, we propose a method of using scenarios instead of objects as the basic units of mapping. To demonstrate the efficiency of the proposed method, we used an ECU system model and eTrice, which is the only free open source among real-time object-oriented modeling tools. Specifically, we implemented an ECU real-time object-oriented model in eTrice, and extended the implementation of eTrice Linux run-time systems and code generators to support scenario-based architecture and multi-core synchronization mechanisms. Our results demonstrate that the proposed scenario-based multi-core multi-tasking improves both theoretical and experimental response spare times (slacks) compared with current and previous work.
Component-based Software Architecture Design Method for Defense Software
Sungwon Lee, Jonghwan Shin, Taehyung Kim
http://doi.org/10.5626/JOK.2019.46.11.1113
Component-based software engineering is widely used in a variety of embedded software developments. However, most methodologies for component-based software engineering have certain limitations in coping with the software configuration structure governed by Korean regulations for weapon system software development. The software configuration structure by rule assumes that the software development is based on object-oriented language and tries to present different perspectives in one diagram. In this paper, we propose a component-based software architecture design method for defense software that can be used in software development with non-object-oriented language. Further, the proposal aims to compose a software configuration structure and desired documentation products such as diagrams through a design process. To help comprehend each step of the proposed design method, real samples of ongoing projects are presented.
OSDEF: An Integrated Framework for Practicing Object-Oriented Software Development
http://doi.org/10.5626/JOK.2019.46.8.774
Software development starts with a specific software development process (SDP) which contains the start and end of the development, SDP plays an important role in the software engineering education. Object-oriented software development education uses several examples that contain object-oriented characteristics into education and practices. However, there is an immense burden on the implantation phases as per the scale of the program, thus creating difficulties in the identification of the connected relations between software design and implementation. In the present work, we propose the OSDEF (Object-oriented based Software Development Education Framework) framework for proceeding an efficient software engineering education based on the OOPT (Object-Oriented Process with Traceability). The framework contains artifact management tools which can directly write development artifacts inside the tool, traceability analysis tool, and emulating environment for embedded software, which can practice a layered architecture in an efficient manner.
OOPT: An Object-Oriented Development Methodology for Software Engineering Education
Sejin Jung, Dong-Ah Lee, Eui-Sub Kim, Chun-Hyon Chang, Junbeom Yoo
The software development process (SDP) plays an important basic role in software engineering education. Every software is developed in accordance with a specific SDP which contains all phases of software development. SDP education helps students to understand the overall techniques and the process of software engineering. This paper introduces a software development methodology (i.e., process) - ‘OOPT (Object Oriented Process with Traceability),’ which was proposed for use in university software engineering classes. The OOPT is based on object-oriented software development, and it defines concrete requirements as well as outputs of each process/phases. It also contains the unit/system testing and a traceability analysis. We have used the OOPT in software engineering classes at Konkuk university for eight years. This paper conveys our experience as well as future extension and improvement plans.
Requirements Elicitation and Specification Method for the Development of Adaptive User Interface
Many studies have addressed ‘Adaptive User Interface (AUI)’, wherein the user interface changes in accordance with the situation and the environment of each user at runtime. Nevertheless, previous papers for AUI barely reflected the viewpoints from requirements engineering field, since most of them focused on proposing the architecture and design. In this study, we outline AUI with the perspective of requirements engineering and propose the requirements elicitation and specification method based on concepts which have been researched in the area of self-adaptive system. Step by step, we first redefine and reinterpret the well-known concepts of self-adaptive software, after which the AUI requirements are elicited and specified. Finally, we illustrate a case study, which demonstrates the effectiveness of our method.
Agent-Based Modeling and Simulation Methodology using Social-Level Characteristics: A Case Study on Self-Adaptive Smart Grid and Military Domain Systems using Tropos
Agent-based modeling and simulation (ABMS) is used to model of market and social phenomena by utilizing agents’ fine-grained behaviors and interactions that cannot be implemented in a conventional simulation. However, ABMS represents irrational agents and hinders the achievement of individual or overall goals since ABMS is based on agent-based software, which follows the principle of rationality at the knowledge level [1]. This problem was solved in the agent-based software engineering (ABSE) field by using behavior laws for the social level [2]. However, they still do not propose the specific development methodology for how to develop the social level in a systematic way. Therefore, in order to propose agent-based modeling and simulation methods that reflect the behavior laws of social level characteristics, our study used the Tropos that can combine ABSE and social behavior laws for the presentation of concrete tasks and deliverables for each development step by step. In addition, the proposed method will be specified through experiments with specific application examples and case studies on the self-adaptive smart grid and the military domain system.
Search

Journal of KIISE
- ISSN : 2383-630X(Print)
- ISSN : 2383-6296(Electronic)
- KCI Accredited Journal
Editorial Office
- Tel. +82-2-588-9240
- Fax. +82-2-521-1352
- E-mail. chwoo@kiise.or.kr