Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Doo-Hwan Bae is active.

Publication


Featured researches published by Doo-Hwan Bae.


IEE Proceedings - Software | 1999

Test cases generation from UML state diagrams

Young Gon Kim; Hyoung Seok Hong; Doo-Hwan Bae; Sung Deok Cha

The paper discusses the application of state diagrams in UML to class testing. A set of coverage criteria is proposed based on control and data flow in UML state diagrams and it is shown how to generate test cases satisfying these criteria from UML state diagrams. First, control flow is identified by transforming UML state diagrams into extended finite state machines (EFSMs). The hierarchical and concurrent structure of states is flattened and broadcast communications are eliminated in the resulting EFSMs. Second, data flow is identified by transforming EFSMs into flow graphs to which conventional data flow analysis techniques can be applied.


Software - Practice and Experience | 2000

A cohesion measure for object-oriented classes

Heung Seok Chae; Yong Rae Kwon; Doo-Hwan Bae

In object‐oriented systems, cohesion refers to the degree of the relatedness of the members in a class and strong cohesion has been recognized as a highly desirable property of classes. We note that the existing cohesion measures do not take into account some characteristics of classes, and thus often fail to properly reflect the cohesiveness of classes. To cope with such a problem, we propose a new cohesion measure where the characteristics of classes are incorporated. Our cohesion measure takes into account the members that actually have impact on the cohesiveness of a class, and is defined in terms of the degree of the connectivity among those members.


Software Testing, Verification & Reliability | 2000

A test sequence selection method for statecharts

Hyoung Seok Hong; Young Gon Kim; Sung Deok Cha; Doo-Hwan Bae; Hasan Ural

This paper presents a method for the selection of test sequences from statecharts. It is shown that a statechart can be transformed into a flow graph modelling the flow of both control and data in the statechart. The transformation enables the application of conventional control and data flow analysis techniques to test sequence selection from statecharts. The resulting set of test sequences provides the capability of determining whether an implementation establishes the desired flow of control and data expressed in statecharts. Copyright


empirical software engineering and measurement | 2007

An Approach to Outlier Detection of Software Measurement Data using the K-means Clustering Method

Kyung-A Yoon; Ohsung Kwon; Doo-Hwan Bae

Estimation of development effort without imposing overhead on the project and the development team is of paramount importance for any software company. This study proposes a new effort estimation methodology aimed at agile and iterative development environments not suitable for description by traditional prediction methods. We propose a detailed development methodology, discuss a number of architectures of such models (including a wealth of augmented regression models and neural networks) and include a thorough case study of Extreme Programming (XP) in two semi-industrial projects. The results of this research evidence that in the XP environment under study the proposed incremental model outperforms traditional estimation techniques most notably in early phases of development. Moreover, when dealing with new projects, the incremental model can be developed from scratch without resorting itself to historic data.The quality of software measurement data affects the accuracy of project managers decision making using estimation or prediction models and the understanding of real project status. During the software measurement implementation, the outlier which reduces the data quality is collected, however its detection is not easy. To cope with this problem, we propose an approach to outlier detection of software measurement data using the k-means clustering method in this work.


Information Sciences | 2000

Software modeling and analysis using a hierarchical object-oriented Petri net

Jang-Eui Hong; Doo-Hwan Bae

Abstract Petri net is used widely to analyze and model various systems formally. Recently, many Petri nets mania devote their efforts to enhancing and extending the expressive power of Petri nets. One such effort is to extend Petri nets with object-oriented concepts. An object-oriented paradigm provides excellent concepts to model real-world problems. Object-oriented concepts allow us to build software systems easily, intuitively, and naturally. Although several high-level Petri nets with the concept of objects are suggested, these nets do not fully support the object-oriented concepts. In this paper, we propose a hierarchical object-oriented Petri net (HOONet). The formal syntax and semantics of HOONet are explained in detail. HOONet supports a wide range of object-oriented features including abstract, encapsulated and modularized objects, object interaction by message passing, inheritance, and ploymorphism. HOONet also supports a variety of modeling and analysis mechanisms such as incremental modeling of evolving systems, unfolding the HOONet to lower level Petri net, and incremental reachability analysis for HOONet models. We demonstrate the usefulness of HOONet by applying it to modeling and analysis with an example.


asia-pacific software engineering conference | 2001

Tailoring and verifying software process

Il-Chul Yoon; Sang-Yoon Min; Doo-Hwan Bae

Process tailoring and verification are very important since project-specific processes are tailored from an organizational process standard and many quality assurance activities are based on the process standard. However, existing research does not provide a systematic method for process tailoring and verification. In this paper, we propose a systematic method for formalizing a process standard clearly with encapsulated reusable process modules for tailoring and verifying tailored process. AAG (activity artifact graph) is used to represent and tailor each process module. Additionally, a prototype tool is implemented to support the proposed method. We believe that the proposed method is helpful in tailoring a process standard and verifying a tailored process.


IEEE Transactions on Software Engineering | 2004

Improving cohesion metrics for classes by considering dependent instance variables

Heung Seok Chae; Yong Rae Kwon; Doo-Hwan Bae

The existing cohesion metrics for classes do not consider the characteristics of dependent instance variables that are commonly used in a class and, thus, do not properly reflect the cohesiveness of the class. This paper presents an approach for improving the cohesion metrics by considering the characteristics of the dependent instance variables in an object-oriented program.


model driven engineering languages and systems | 2008

An empirical analysis of software effort estimation with outlier elimination

Yeong-Seok Seo; Kyung-A Yoon; Doo-Hwan Bae

Accurate software effort estimation has always been challenge for software engineering communities. To improve the estimation accuracy of software effort, many studies have focused on effort estimation methods without any consideration of data quality, although data quality is one of important factors to impact to the estimation accuracy. In this paper, we investigate the influence of outlier elimination upon the accuracy of software effort estimation through empirical studies applying two outlier elimination methods(Least trimmed square and K-means clustering) and three effort estimation methods( Least squares, Neural network and Bayesian network) associatively. The empirical studies are performed using two industry data sets(the ISBSG Release 9 and the Bank data set which consists of the project data performed in a bank in Korea) with or without outlier elimination.


mining software repositories | 2012

An empirical study of supplementary bug fixes

Jihun Park; Miryung Kim; Baishakhi Ray; Doo-Hwan Bae

A recent study finds that errors of omission are harder for programmers to detect than errors of commission. While several change recommendation systems already exist to prevent or reduce omission errors during software development, there have been very few studies on why errors of omission occur in practice and how such errors could be prevented. In order to understand the characteristics of omission errors, this paper investigates a group of bugs that were fixed more than once in open source projects - those bugs whose initial patches were later considered incomplete and to which programmers applied supplementary patches. Our study on Eclipse JDT core, Eclipse SWT, and Mozilla shows that a significant portion of resolved bugs (22% to 33%) involves more than one fix attempt. Our manual inspection shows that the causes of omission errors are diverse, including missed porting changes, incorrect handling of conditional statements, or incomplete refactorings, etc. While many consider that missed updates to code clones often lead to omission errors, only a very small portion of supplementary patches (12% in JDT, 25% in SWT, and 9% in Mozilla) have a content similar to their initial patches. This implies that supplementary change locations cannot be predicted by code clone analysis alone. Furthermore, 14% to 15% of files in supplementary patches are beyond the scope of immediate neighbors of their initial patch locations - they did not overlap with the initial patch locations nor had direct structural dependencies on them (e.g. calls, accesses, subtyping relations, etc.). These results call for new types of omission error prevention approaches that complement existing change recommendation systems.


asia-pacific software engineering conference | 2002

An automated refactoring approach to design pattern-based program transformations in Java programs

Sang-Uk Jeon; Joon-Sang Lee; Doo-Hwan Bae

Software often needs to be modified to accommodate requirements changes during the software lifecycle. To deal with several accidental requirements changes related to software maintenance, a systematic and safe approach to modifying software is needed. Design patterns provide a high degree of design flexibility for such accidental requirements changes. In this paper, we propose an automated approach to refactoring based on design patterns in Java programs. In our approach, for a particular design pattern, we define an inference rule to automatically identify a set of candidate spots and a refactoring strategy to transform a candidate spot into the desired design pattern structure. A candidate spot may be a class or a set of classes to which design patterns can be applied. We believe that our approach would be helpful to maintainers in the sense that much manual analysis of source code can be reduced, and the method of automated program transformation preserves behavior of the original program by means of the refactoring technique.

Collaboration


Dive into the Doo-Hwan Bae's collaboration.

Top Co-Authors

Avatar

Jang-Eui Hong

Chungbuk National University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Stephen S. Yau

Arizona State University

View shared research outputs
Researchain Logo
Decentralizing Knowledge