Dae-Kyoo Kim

Prof. Dae-Kyoo Kim

Department of Computer Science and Engineering, Oakland University, USA
orcid

Research Focus & Metrics

Academic Career Length

19Years (2008-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
1 February 2022 in Journal of Systems and Software
Verified
Journal Article
Closed access
MLMaggie Lei
Maggie Lei
HLHao Li
Hao Li
JLJi Li
Ji Li
NANamrata Aundhkar
Namrata Aundhkar
Dae-Kyoo KimDae-Kyoo Kim
Dae-Kyoo Kim

8 October 2019 in IEEE Transactions on Software Engineering
Verified
Journal Article
Closed access
WPWeifeng Pan
Weifeng Pan
HMHua Ming
Hua Ming
CCCarl K. Chang
Carl K. Chang
ZYZijiang Yang
Zijiang Yang
Dae-Kyoo KimDae-Kyoo Kim
Dae-Kyoo Kim
Software comprehension is an important part of software maintenance. To understand a piece of large and complex software, the first problem to be solved is where to start the understanding process. Choosing to start the comprehension process from the important software elements has proven to be a practical way. Research on complex networks opens new opportunities for identifying important elements, and many approaches have been proposed. However, the software networks that existing approaches use neglect the multilayer nature of software systems. That is, nodes in the network can have different types of relationships at the same time, and each type of relationship forms a specific layer. Worse still, they mainly focus on identifying important classes, and little work has been done on quantifying package importance. In this paper, we propose an ElementRank approach to provide a ranked list of classes (or packages) for maintainers to start the comprehension process. The top-ranked classes (or packages) can be seen as the starting points for the software comprehension process at the class (or package) level. First, we introduce two kinds of multilayer software networks to describe the topological structure of software at the class level and package level, respectively. Second, we propose a weighted PageRank algorithm to calculate the weighted PageRank value of classes (or packages) in each layer of the corresponding multilayer software network. Then, we use AHP (Analytic Hierarchy Process) to weigh each layer in the corresponding multilayer software network, and further aggregate the weighted PageRank value to obtain the global weighted PageRank value for each class (or package). Finally, all the classes (or packages) are ranked according to their global weighted PageRank values in a descending order, and the top-ranked classes (or packages) can serve as the starting points for the software comprehension process at the class (or package) level. ElementRank is validated theoretically using the widely accepted Weyuker's criteria. Theoretical results show that the global weighted PageRank value for classes (or packages) satisfies most of Weyuker's properties. Furthermore, ElementRank is evaluated empirically using a set of twelve open source software systems. Through a set of experiments, we show the rank correlation between the results of ElementRank and that of the approaches in the related work, and the benefits of ElementRank are also illustrated in comparison with other approaches in the related work. Empirical results also show that ElementRank can be applied to large software systems.

4 January 2023 in Computers
Verified
Journal Article
Open access
PDF file
MYMohammad Yahya
Mohammad Yahya
Dae-Kyoo KimDae-Kyoo Kim
Dae-Kyoo Kim
Source code clones are common in software development as part of reuse practice. However, they are also often a source of errors compromising software maintainability. The existing work on code clone detection mainly focuses on clones in a single programming language. However, nowadays software is increasingly developed on a multilanguage platform on which code is reused across different programming languages. Detecting code clones in such a platform is challenging and has not been studied much. In this paper, we present CLCD-I, a deep neural network-based approach for detecting cross-language code clones by using InferCode which is an embedding technique for source code. The design of our model is twofold: (a) taking as input InferCode embeddings of source code in two different programming languages and (b) forwarding them to a Siamese architecture for comparative processing. We compare the performance of CLCD-I with LSTM autoencoders and the existing approaches on cross-language code clone detection. The evaluation shows the CLCD-I outperforms LSTM autoencoders by 30% on average and the existing approaches by 15% on average.

18 March 2008 in Software Quality Journal
Verified
Journal Article
Closed access
PDF file
Dae-Kyoo KimDae-Kyoo Kim
Dae-Kyoo Kim
WSWuwei Shen
Wuwei Shen

1 June 2021 in IEEE Transactions on Dependable and Secure Computing
Verified
Journal Article
Closed access
HKHwimin Kim
Hwimin Kim
Dae-Kyoo KimDae-Kyoo Kim
Dae-Kyoo Kim
AAAlaa Alaerjan
Alaa Alaerjan
DDS is a middleware standard for data-centric publish/subscribe communication in a large scale real-time environment. DDS provides a security model for secure data communication. A major service of the security model is authorization. The authorization is based on the contents of messages rather than the information about the participant which should be the subject for access control. In this paper, we present a novel approach for improved authorization of the DDS security model using ABAC. We first analyze the DDS security model and identify integration points for ABAC. Based on the analysis, we incorporate ABAC entities into the security model with ABAC behaviors defined across RTPS and DCPS. We implemented the model in XACML and evaluated by applying it to a patient monitoring system in the healthcare domain for its effectiveness, scalability, and efficiency in a controlled environment. The evaluation on effectiveness demonstrates that the model successfully enforces access control during the discovery process in a dynamic changing setting. The evaluation on scalability and efficiency demonstrates that the model is capable of handling 1,050 access requests simultaneously under the average of 40.60 milliseconds with the average ABAC overheads of 10.62 milliseconds accounting for 26.67% of the communication time.

26 April 2023 in Journal of Computer Information Systems
Verified
Journal Article
Closed access
PNPurnima Naik
Purnima Naik
SNSalomi Nelaballi
Salomi Nelaballi
VPVenkata Sai Pusuluri
Venkata Sai Pusuluri
Dae-Kyoo KimDae-Kyoo Kim
Dae-Kyoo Kim
This paper presents a systematic literature review of deep learning (DL)-based software refactoring, which involves restructuring and simplifying code without altering its external functionality. The study analyzed 17 primary works and found that CNN, RNN, MLP, and GNN are commonly used DL models for code refactoring, with MLP performing the best. However, current research efforts primarily focus on Java code, method-level refactoring, and single language refactoring with varying evaluation methods. The review also highlights the limitations and challenges of DL-based software refactoring and suggests future research directions.