Source author record

Dae-Kyoo Kim

Dae-Kyoo Kim appears in the imported research catalog. Authorship, coauthor and topic links are available while profile ownership is still unclaimed.

ResearcherUnclaimed source record

Catalog footprint

What is connected

4works
3topics
4close collaborators

Actions

Connect this record

Log in to claim

Research graph

See the researcher in context

Open full explorer

Inspect adjacent papers, topics, institutions and collaborators without losing the researcher page.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Published work

4 published item(s)

preprint2022arXiv

Analyzing Impact of Dependency Injection on Software Maintainability

Dependency injection (DI) is generally known to improve maintainability by keeping application classes separate from the library. Particularly within the Java environment, there are many applications using the principles of DI with the aim to improve maintainability. There exists some work that provides an inference on the impact of DI on maintainability, but no conclusive evidence is provided. The fact that there are no publicly available tools for quantifying DI makes such an evidence more difficult to be produced. In this paper, we propose a novel metric, DCBO, to measure the proportion of DI in a project based on weighted couplings. We describe how DCBO can serve as a more meaningful metric in computing maintainability when DI is also considered. The metric is implemented in the CKJM-Analyzer, an extension of the CKJM tool that utilizes static code analysis to detect DI. We discuss the algorithmic approach behind the static analysis and prove the soundness of the tool using a set of open-source Java projects.

preprint2022arXiv

Cross-Language Source Code Clone Detection Using Deep Learning with InferCode

Software clones are beneficial to detect security gaps and software maintenance in one programming language or across multiple languages. The existing work on source clone detection performs well but in a single programming language. However, if a piece of code with the same functionality is written in different programming languages, detecting it is harder as different programming languages have a different lexical structure. Moreover, most existing work rely on manual feature engineering. In this paper, we propose a deep neural network model based on source code AST embeddings to detect cross-language clones in an end-to-end fashion of the source code without the need of the manual process to pinpoint similar features across different programming languages. To overcome data shortage and reduce overfitting, a Siamese architecture is employed. The design methodology of our model is twofold -- (a) it accepts AST embeddings as input for two different programming languages, and (b) it uses a deep neural network to learn abstract features from these embeddings to improve the accuracy of cross-language clone detection. The early evaluation of the model observes an average precision, recall and F-measure score of $0.99$, $0.59$ and $0.80$ respectively, which indicates that our model outperforms all available models in cross-language clone detection.

preprint2012arXiv

A Semantic-Based Approach for Detecting and Decomposing God Classes

Cohesion is a core design quality that has a great impact on posterior development and maintenance. By the nature of software, the cohesion of a system is diminished as the system evolves. God classes are code defects resulting from software evolution, having heterogeneous responsibilities highly coupled with other classes and often large in size, which makes it difficult to maintain the system. The existing work on identifying and decomposing God classes heavily relies on internal class information to identify God classes and responsibilities. However, in object-oriented systems, responsibilities should be analyzed with respect to not only internal class information, but also method interactions. In this paper, we present a novel approach for detecting God classes and decomposing their responsibilities based on the semantics of methods and method interactions. We evaluate the approach using JMeter v2.5.1 and the results are promising.

preprint2011arXiv

Required Behavior of Sequence Diagrams: Semantics and Conformance

Sequence diagrams are a widely used design notation for describing software behaviors. Many reusable software artifacts such as design patterns and design aspects make use of sequence diagrams to describe interaction behaviors. When a pattern or an aspect is reused in an application, it is important to ensure that the sequence diagrams for the application conform to the corresponding sequence diagrams for the pattern or aspect. Reasoning about conformance relationship between sequence diagrams has not been addressed adequately in literature. In this paper, we focus on required behavior specified by a UML sequence diagram. A novel trace semantics is given that captures precisely required behavior specified by a sequence diagram and a conformance relation between sequence diagrams is formalized based on the semantics. Properties of the trace semantics and the conformance relation are studied.