Doohwan Kim's research while affiliated with Chungbuk National University and other places

Publications (17)

Article
Full-text available
Reuse is the activity of developing new software systems using software components (or artifacts) that are already proven and reliable. However, traditional reuse-based software development has difficulties in finding the components that have the proper information (feature) to match the developers’ needs, or reusing a component without modificatio...
Chapter
Full-text available
Estimating future runtime performance and cost is an essential task for Chief Information Officers in deciding whether to adopt a Cloud-based system. Benchmarking and simulation are two techniques that have long been practiced towards reliable estimation. Benchmarking involves (potentially) high cost and time consumption, but oftentimes yields more...
Article
Full-text available
Software coupling involves dependencies among pieces of software called modules. Different types of coupling will dictate the manner whereby software modules interact and will result in different approaches to mutual function calls and return values, which can affect software quality attributes. Undoubtedly, coupling has been one of the most critic...
Article
Full-text available
Code refactoring is the process of restructuring existing computer code without changing its external behavior to enhance reusability and maintainability of software components through improving nonfunctional attributes of the software. However, when we refactor source codes using existing refactoring techniques, those techniques do not consider en...
Chapter
Software reuse is a strategic approach for increasing productivity and improving quality of software development. The software reuse can be done with every type of software artifacts like source code, design document and so on. However, software engineers often have difficulty in reusing the artifacts, because finding reusable component is time con...
Chapter
Reuse has become a very common approach in software development such as open source based development and version upgrades of new product models. However, the difficulty of reusing open source software is that the code is frequently modified; especially modifying its entire control structure makes application development more difficult. This paper...
Conference Paper
Full-text available
자율주행 자동차는 사회적 환경 변화는 물론 ICT 기술의 집약 등의 측면에서 많은 영향을 미치는 대 상이며, 최근 많은 연구자들이 관심을 가지고 있는 핵심 기술분야이다. 특히 자동차가 매우 다양한 기능 을 제공하고, 또 이들이 소프트웨어에 의한 구현으로 연결되면서 자동차에 탑재되는 소프트웨어 또한 매 우 중요하게 인식되고 있다. 최근에는 많은 연구자 및 개발자들이 자율주행과 관련된 자동차 기술 및 소 프트웨어를 개발하고 있다. 그러나 자동차의 형태와 기능이 매우 다양하게 제공되고 있음에도 불구하고 자율주행 자동차와 관련된 소프트웨어 개발에서는 자동차 소프트웨어의 전체적인 구조와 지속성 등을 고 려하지 못하고 소프트웨어가...
Chapter
In software development approaches including open source-based development, new version development of software product, reuse has become a useful and common approach. However, the problem of traditional reuse approach is not easy to find reusable components that software engineers want, or difficult to reuse the components without any modification...
Article
Full-text available
Nowadays, Internet of Things technology has garnered a great amount of interest because it can make our life much easier, convenient, and even safer. Internet of Things devices can be connected to the Internet or to each other whenever and wherever in order to collect, process, and share information to support various services. In order to provide...
Article
In software development approaches including open source-based development, new version development of software product, reuse has become a useful and common approach. However, the problem of traditional reuse approach is not easy to find reusable components that software engineers want, or difficult to reuse the components without any modification...
Article
While the services of mobile devices like smart phone, tablet, and smart watch have been increased and varied, the software embedded into such devices has been also increased in size and functional complexity. Therefore, increasing operation time of mobile devices for serviceability became an important issue due to the limitation of battery power....
Article
The importance of safety-critical systems is increasing, as seen with the terrible accidents recently occurring in nuclear power plants and with airplanes. To ensure the safety of those systems, system engineers should consider how to prevent system hazards during the design phase of system development. Although existing techniques such as event tr...
Article
Code refactoring focuses on enhancing the maintainability of software to extend its lifetime. However as software applications were varied and the range of its usage becomes broaden, there are some efforts to improve software qualities like performance or reliability as well as maintainability using code refactoring techniques. Recently, as low-ene...
Article
The application software operated on mobile device like a smart phone is hard to ensure continuously provision of stable services because of limited resource like a battery. Therefore the requirements on the energy consumption of mobile software become one of critical issues in the software development. To cover the problem that the energy consumpt...

Citations

... For instance, Hu et al. (2020) proposed a method for process re-engineering based on Blockchain technology. Johng et al. (2020) presented a framework to enhance and redesign business processes by leveraging the trustworthiness provided by the Blockchain. Kirss and Milani (2020) conducted a case study to examine how Blockchain may enable process redesign in the banking industry. ...
... To validate simulated results, complementary approaches like benchmarking and simulating a system emerged [20], [36]. JOHNG et al. [36], for example, developed an ontology based methodology where a mapping function between the different ontologies tries to compare the environments to achieve a closer dev-prod parity relation. ...
... With this, George et al. [19] examined the famous existing methods for food traceability and proposed a blockchain-based restaurant prototype to collect data from all stakeholders and generate a food quality index. Then, Johng et al. [20] presented a framework, i.e., Fides, which is a business process for the retail food supply chain. Wu et al. in [21] conducted a comprehensive survey and proposed blockchain frameworks, and they bifurcated the entire framework into four layers, starting from the data layer and ending with the application layer for analytics and decision-making: (i) data layer, (ii) consensus layer, (iii) network layer, and (iv) application layer. ...
... Stakeholders have various roles depending upon their purpose associated with a project. In the context of the development team, roles can be technical writer, designer, analyst, requirements engineer, tester; for management can be product maintenance and change activities handlers; and for usage context, roles can be product end-users, e.g. the user of hospital websites can be doctors, patients, medical staff, visitors, database managers etc. [25,36,37]. ...
... The security management system consists of a context-aware role-based access control model. Context-aware software engineering artifacts can be found in literature such as in [8]. In order to improve software security processes application context awareness needs to be included in the software engineering artifacts used for modeling software security. ...
... This can be seen by considering the IoT stack [22], which divides the IoT network into four main layers that consist of perception layer, network layer, middleware layer and application layer as it is illustrated in fig. 2 [23]. The perception (or sensing) layer relates to the various physical components or hardware devices such as sensors, actuators, computers, or industrial equipment, where each one of these devices may have a unique purpose and operate based on different platforms [24]. The second layer is the network (or communication) layer, which is a common abstraction in network design, that is intended to provide access environment for physical components via wired or wireless communication channels. ...
... Sehgal et al. generalize this energy-efficiency refactoring approach to general-purpose software, relying on readings from different components to evaluate each refactor [22]. Kim et al. applied the same approach for embedded computing environments to improve legacy code performance [23]. Imran and Kosar evaluated auto-refactorings in the context of Cloud Software with significant improvements in energy consumption. ...
... All-pairs-publishers-subscribers n 8,2 1 , n 9,1 1 , n 8,3 18 , n 9,1 1 , n 9,1 4 , n 10,1 1 , All-k-pairs-publishers-subscribers n 5,1 20 , n 8,1 1 , n 8,3 18 , n 9,1 1 , n 5,1 20 , n 8,1 1 , n 8,2 1 , n 9,1 1 , n 8,2 1 , n 9,1 1 , n 9,1 4 , n 10,1 1 , n 8,3 18 , n 9,1 1 , n 9,1 4 , n 10,1 1 , n 1,1 1 , n 8,1 1 , n 8,3 18 , n 9,1 1 , n 6,3 1 , n 8,1 1 , n 8,2 1 , n 9,1 1 , n 4,8 27 , n 8,1 1 , n 8,3 18 , n 9,1 1 , n 4,8 27 , n 8,1 1 , n 8,2 1 , n 9,1 1 , n 4,3 4 , n 8,1 1 , n 8,3 18 , n 9,1 1 , n 4,3 4 , n 8,1 1 , n 8,2 1 , n 9,1 1 , n 7,4 54 , n 8,1 1 , n 8,3 18 , n 9,1 1 , n 7,4 54 , n 8,1 1 , n 8,2 1 , n 9,1 1 , n 7,4 59 , n 8,1 1 , n 8,3 18 , n 9,1 1 , n 7,4 59 , n 8,1 1 , n 8,2 1 , n 9,1 1 , n 5,1 20 , n 7,3 1 , n 7,4 54 , n 8,1 1 , n 5,1 20 , n 7,3 1 , n 7,4 59 , n 8,1 1 , n 11,1 1 , n 7,2 1 , n 7,4 54 , n 8,1 1 , n 11,1 1 , n 7,2 1 , n 7,4 59 , n 8,1 1 , n 11,1 1 , n 7,2 1 , n 7,4 54 , n 4,1 67 , n 11,1 1 , n 7,2 1 , n 7,4 59 , n 4,1 energy consumption and software coupling can be evaluated, as suggested in Kim et al. (2018). The identification of the goal point provided by the user and the evaluation of the output obtained from a comparison with the output expected was other difficulty faced. ...