Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Il-Chul Yoon

dblp:68/5252 · 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 · 8 · 6 first-authorApplied, interdisciplinary, general and emerging computing · 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 · 55% Software maintenance and evolution · 45%

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

TopicWeightPapersLastEvidence papers
Software testing › non-functional testing
compatibility testing
0.222008
Effective and scalable software compatibility testing · ISSTA 2008
Direct-dependency-based software compatibility testing · ASE 2007
Software maintenance and evolution
software dependencies
0.122008
Direct-dependency-based software compatibility testing · ASE 2007
Effective and scalable software compatibility testing · ISSTA 2008
Software maintenance and evolution › software dependencies
version compatibility
0.122008
Direct-dependency-based software compatibility testing · ASE 2007
Effective and scalable software compatibility testing · ISSTA 2008
Software testing
configuration testing
0.112008
Effective and scalable software compatibility testing · ISSTA 2008

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

combinatorial interaction testing · 0.1dependency analysis · 0.1
YearPublicationVenuePosition
2016 Coordinated Collaborative Testing of Shared Software Components
abstract
Software developers commonly build their software systems by reusing other components developed and maintained by third-party developer groups. As the components evolve over time, new end-user machine configurations that contain new component versions will be added continuously for the potential user base. Therefore developers must test whether their components function correctly in the new configurations to ensure the quality of the overall systems. This would be achievable if developers could provision the configurations in house and conduct regression testing over the configurations. However, this is often very time-consuming and also there can be redundancy in test effort between developers when a common set of components is reused for providing the functionality of the systems. In this paper, we present a coordinated collaborative regression testing process for multiple developer groups. It involves a scheduling method for distributing test effort across the groups at component updates, with the objectives of reducing test redundancy between the groups and also shortening the time window in which compatibility faults are exposed to user community. The process is implemented on Conch, a collaborative test data repository and services we developed in our previous work. Conch has been modified to function as the test process coordinator, as well as the shared repository of test data. Our experiments over the 1.5-year evolution history of eleven components in the Ubuntu developer community show that developers can quickly discover compatibility faults by applying the coordinated process. Moreover, total testing time is comparable to the scenario where the developers conduct regression testing only at updates of their own components.
Teng Long 0003, Il-Chul Yoon, Adam A. Porter, Atif M. Memon, Alan Sussman
ICST2
2013 Testing component compatibility in evolving configurations
Il-Chul Yoon, Alan Sussman, Atif M. Memon, Adam A. Porter
Inf. Softw. Technol.1
2012 Overlap and Synergy in Testing Software Components across Loosely Coupled Communities
abstract
Component integration rather than from-scratch programming increasingly defines software development. As a result software developers often play diverse roles, including that of a component provider -- packaging a component for others to use, a component user -- integrating other providers' components into their software, and a component tester -- ensuring that other providers' components work as part of an integrated system. In this paper, we explore the conjecture that we can better utilize testing resources by focusing not just on individual component-based systems, but on groups of systems that form what we refer to as loosely-coupled software development communities, meaning a set of independently-managed systems that use many of the same components. We demonstrate that such communities do in fact exist, and that there are overlaps and synergies in their test efforts.
Teng Long 0003, Il-Chul Yoon, Adam A. Porter, Alan Sussman, Atif M. Memon
ISSRE2
2009 Prioritizing component compatibility tests via user preferences
abstract
Many software systems rely on third-party components during their build process. Because the components are constantly evolving, quality assurance demands that developers perform compatibility testing to ensure that their software systems build correctly over all deployable combinations of component versions, also called configurations. However, large software systems can have many configurations, and compatibility testing is often time and resource constrained. We present a prioritization mechanism that enhances compatibility testing by examining the ldquomost importantrdquo configurations first, while distributing the work over a cluster of computers. We evaluate our new approach on two large scientific middleware systems and examine tradeoffs between the new prioritization approach and a previously developed lowest-cost-configuration-first approach.
Il-Chul Yoon, Alan Sussman, Atif M. Memon, Adam A. Porter
ICSM1
2008 Effective and scalable software compatibility testing
abstract
Today's software systems are typically composed of multiple components, each with different versions. Software compatibility testing is a quality assurance task aimed at ensuring that multi-component based systems build and/or execute correctly across all their versions' combinations, or configurations. Because there are complex and changing interdependencies between components and their versions, and because there are such a large number of configurations, it is generally infeasible to test all potential configurations. Consequently, in practice, compatibility testing examines only a handful of default or popular configurations to detect problems; as a result costly errors can and do escape to the field.
Il-Chul Yoon, Alan Sussman, Atif M. Memon, Adam A. Porter
ISSTA1
2007 Direct-dependency-based software compatibility testing
abstract
Software compatibility testing is an important quality assurance task aimed at ensuring that component-based software systems build and/or execute properly across a broad range of user system configurations. Because each configuration can involve multiple components with different versions, and because there are complex and changing interdependencies between components and their versions, it is generally infeasible to test all potential configurations. Therefore, compatibility testing usually means examining only a handful of default or popular configurations to detect problems, and as a result costly errors can and do escape to the field
Il-Chul Yoon, Alan Sussman, Atif M. Memon, Adam A. Porter
ASE1
2001 Tailoring and Verifying Software Process
abstract
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.
Il-Chul Yoon, Sang-Yoon Min, Doo-Hwan Bae
APSEC1
2000 Reliable Transaction Design Using MTS
abstract
Component based development is an emerging discipline of software development. Recently, the growth of middleware technologies has brought the notion of server-side component into CBD for developing mission-critical applications. The authors propose a method for designing reliable component systems for mission-critical tasks. To this end, they formulate the MTS system (Microsoft Transaction Server) and develop a framework for describing the specification and design of component based systems and reasoning about them. For illustrating our framework, we show that the design of a simple bank example violates its specification. We strongly believe that the refactoring of transaction boundaries is common practice for improving scalability, and thus, the developed framework is useful when evaluating refactorings.
Il-Chul Yoon, Hyung-Ho Kim, Doo-Hwan Bae, Cheong Youn
COMPSAC1