Chang Hwan Peter Kim

dblp:k/CHPKim · DBLP profile ↗
← Back
8ranked-venue papers
6as first author
0since 2021 · last 2016
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 6 · 5 first-authorApplied, interdisciplinary, general and emerging computing · 2Artificial intelligence and machine learning · 1Systems, architecture and hardware · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Software testing · 90% Program analysis · 10%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing
software product line testing
0.322013
SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems · ESEC/SIGSOFT FSE 2013
Eliminating products to test in a software product line · ASE 2010
Software testing
configuration testing
0.212013
SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems · ESEC/SIGSOFT FSE 2013
Program analysis
dynamic analysis
0.012013
SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems · ESEC/SIGSOFT FSE 2013
Software testing
combinatorial testing
0.012010
Eliminating products to test in a software product line · ASE 2010

Methods — techniques the papers use, named apart from their topics

dynamic analysis · 0.2configuration variable monitoring · 0.2feature model analysis · 0.1
YearPublicationVenuePosition
2016 Static Program Analysis for Identifying Energy Bugs in Graphics-Intensive Mobile Apps
abstract
A major drawback of mobile devices is limited battery life. Apps that use graphics are especially energy greedy and developers must invest significant effort to make such apps energy efficient. We propose a novel static optimization technique for eliminating drawing commands to produce energy-efficient apps. The key insight we exploit is that the static analysis is able to predict future behavior of the app, and we give three exemplars that demonstrate the value of this approach. Firstly, loop invariant texture analysis identifies repetitive texture transfers in the render loop so that they can be moved out of the loop and performed just once. Secondly, packing identifies images that are drawn together and therefore can be combined into a larger image to eliminate overhead associated with multiple smaller images. Finally, identical frames detection uses a combination of static and dynamic analysis to identify frames that are identical to the previous frame and therefore do not have to be drawn. We implemented the technique against LibGDX, an Android game engine, and evaluated it using open source projects. Our experiments indicate savings up to 44% of the total energy consumption of the device.
Chang Hwan Peter Kim, Daniel Kroening, Marta Z. Kwiatkowska
MASCOTS1
2014 Synthesising optimal timing delays for Timed I/O Automata
abstract
In many real-time embedded systems, the choice of values for the timing delays can crucially affect the safety or quantitative characteristics of their execution. We propose a parameter synthesis algorithm that finds optimal timing delays guaranteeing that the system satisfies a given quantitative property. As a modelling framework we consider networks of Timed Input/Output Automata (TIOA) with priorities and parametric guards. To express system properties we extend Metric Temporal Logic (MTL) with counting formulas. We implement the algorithm using constraint solving and Monte Carlo sampling, and demonstrate the feasibility of our approach on a simplified model of a pacemaker. We are able to synthesise timing delays that ensure with high probability that energy usage is minimised, while maintaining the basic safety property of the pacemaker.
Marco Diciolla, Chang Hwan Peter Kim, Marta Z. Kwiatkowska, Alexandru Mereacre
EMSOFT2
2013 SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems
abstract
Many programs can be configured through dynamic and/or static selection of configuration variables. A software product line (SPL), for example, specifies a family of programs where each program is defined by a unique combination of features. Systematically testing SPL programs is expensive as it can require running each test against a combinatorial number of configurations. Fortunately, a test is often independent of many configuration variables and need not be run against every combination. Configurations that are not required for a test can be pruned from execution. This paper presents SPLat, a new way to dynamically prune irrelevant configurations: the configurations to run for a test can be determined during test execution by monitoring accesses to configuration variables. SPLat achieves an optimal reduction in the number of configurations and is lightweight compared to prior work that used static analysis and heavyweight dynamic execution. Experimental results on 10 SPLs written in Java show that SPLat substantially reduces the total test execution time in many cases. Moreover, we demonstrate the scalability of SPLat by applying it to a large industrial code base written in Ruby on Rails.
Chang Hwan Peter Kim, Darko Marinov, Sarfraz Khurshid, Don S. Batory, Sabrina Souto, Paulo Barros, Marcelo d'Amorim
ESEC/SIGSOFT FSE1
2012 Shared Execution for Efficiently Testing Product Lines
abstract
A software product line (SPL) is a family of related programs, each of which is uniquely defined by a combination of features. Testing an SPL requires running each of its programs, which may be computationally expensive as the number of programs in an SPL is potentially exponential in the number of features. It is also wasteful since instructions common to many programs must be repeatedly executed, rather than just once. To reduce this waste, we propose the idea of shared execution, which runs instructions just once for a set of programs until a variable read yields multiple values, causing execution to branch for each value until a common execution point that allows shared execution to resume. Experiments show that shared execution can be faster than conventionally running each program from start to finish, despite its overhead.
Chang Hwan Peter Kim, Sarfraz Khurshid, Don S. Batory
ISSRE1
2010 Eliminating products to test in a software product line
abstract
A Software Product Line (SPL) is a family of programs where each program is defined by a unique combination of features. Developing a set of programs with commonalities and variabilities in this way can significantly reduce both the time and cost of software development. However, as the number of programs may be exponential in the number of features, testing an SPL, the phase to which the majority of software development is dedicated, becomes especially challenging [12].
Chang Hwan Peter Kim, Don S. Batory, Sarfraz Khurshid
ASE1
2010 Reducing Configurations to Monitor in a Software Product Line
Chang Hwan Peter Kim, Eric Bodden, Don S. Batory, Sarfraz Khurshid
RV1
2008 On the modularity of feature interactions
abstract
Feature modules are the building blocks of programs in software product lines (SPLs). A foundational assumption of feature-based program synthesis is that features are composed in a predefined sequence called a natural order. Recent work on virtual separation of concerns reveals a new model of feature interactions that shows that feature modules can be quantized as compositions of smaller modules called derivatives. We present this model and examine some of its consequences, namely, that (1) a given program can be reconstructed by composing features in any order, and (2) the contents of a feature module (as expressed as a composition of derivatives) is determined automatically by a feature order. We show that different orders allow one to adjust the contents of a feature module to isolate and study the impact of interactions that a feature has with other features. We also show the utility of generalizing safe composition (SC), a basic analysis of SPLs that verifies program type-safety, to demonstrate that every legal composition of derivatives (and thus any composition order of features) produces a type-safe program, which is a much stronger SC property.
Chang Hwan Peter Kim, Christian Kästner, Don S. Batory
GPCE1
2006 Feature Models are Views on Ontologies
abstract
Feature modeling has been proposed as an approach for describing variable requirements for software product lines. In this paper, we explore the relationship between feature models and ontologies. First, we examine how previous extensions to basic feature modeling move it closer to richer formalisms for specifying ontologies such as MOF and OWL. Then, we explore the idea of feature models as views on ontologies. Based on that idea, we propose two approaches for the combined use of feature models and ontologies: view derivation and view integration. Finally, we give some ideas about tool support for these approaches.
Krzysztof Czarnecki 0001, Chang Hwan Peter Kim, Karl Trygve Kalleberg
SPLC2