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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Tsz Hin Ng

dblp:60/576 · also T. H. Ng · DBLP profile ↗
← Back
5ranked-venue papers
5as first author
0since 2021 · last 2012
—ORCID · none

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

Software engineering, systems software and programming languages · 5 · 5 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
Empirical software engineering · 45% Requirements engineering and software design · 30% Software maintenance and evolution · 26%

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

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
design patterns
0.112007
Do Maintainers Utilize Deployed Design Patterns Effectively? · ICSE 2007
Empirical software engineering
mining software repositories
0.112007
Do Maintainers Utilize Deployed Design Patterns Effectively? · ICSE 2007
Software maintenance and evolution
refactoring
0.112006
Work experience versus refactoring to design patterns: a controlled experiment · SIGSOFT FSE 2006
Empirical software engineering
controlled experiment
0.012006
Work experience versus refactoring to design patterns: a controlled experiment · SIGSOFT FSE 2006
Empirical software engineering › developer studies
developer experience
0.012006
Work experience versus refactoring to design patterns: a controlled experiment · SIGSOFT FSE 2006

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

empirical study · 0.1controlled experiment · 0.1
YearPublicationVenuePosition
2012 Human and program factors affecting the maintenance of programs with deployed design patterns
Tsz Hin Ng, Yuen-Tak Yu, Shing-Chi Cheung, Wing Kwong Chan
Inf. Softw. Technol.1
2007 Do Maintainers Utilize Deployed Design Patterns Effectively?
abstract
One claimed benefit of deploying design patterns is facilitating maintainers to perform anticipated changes. However, it is not at all obvious that the relevant design patterns deployed in software will invariably be utilized for the changes. Moreover, we observe that many well-known design patterns consist of three types of programming elements (called participants), and that performing an anticipated change typically entails multiple tasks related to different types of participants. This paper studies empirically whether maintainers utilize deployed design patterns, and when they do, which tasks they more commonly perform. Our experiments show that almost all subjects perform the task of adding new concrete participants, fewer perform the tasks involving clients, whereas even fewer perform the tasks involving abstract participants. Furthermore, utilizing deployed design patterns (by performing whichever of the corresponding tasks) is found to be statistically associated with the delivery of less faulty codes.
Tsz Hin Ng, Shing-Chi Cheung, Wing Kwong Chan, Yuen-Tak Yu
ICSE1
2006 Work experience versus refactoring to design patterns: a controlled experiment
abstract
Program refactoring using design patterns is an attractive approach for facilitating anticipated changes. Its benefit depends on at least two factors, namely the effort involved in the refactoring and how effective it is. For example, the benefit would be small if too much effort is required to translate a program correctly into a refactorized form, and whether such a form could effectively guide maintainers to complete anticipated changes is unknown. A metric of effectiveness is the maintainers' performance, which can be affected by their work experience, in realizing the changes. Hence, an interesting question arises. Is program refactoring to introduce additional patterns beneficial regardless of the work experience of the maintainers? In this paper, we report a controlled experiment on maintaining JHotDraw, an open source system deployed with multiple patterns. We compared maintainers with and without work experience. Our empirical results show that, to complete a maintenance task of perfective nature, the time spent even by the inexperienced maintainers on a refactorized version is much shorter than that of the experienced subjects on the original version. Moreover, the quality of their delivered programs, in terms of correctness, is found to be comparable.
Tsz Hin Ng, Shing-Chi Cheung, Wing Kwong Chan, Yuen-Tak Yu
SIGSOFT FSE1
2005 Enhancing class commutability in the deployment of design patterns
Tsz Hin Ng, Shing-Chi Cheung
Inf. Softw. Technol.1
2003 Proactive Views on Concrete Aspects: A Pattern Documentation Approach for Software Evolution
abstract
A design pattern provides a structure to manage a design aspect by allowing the aspect to be changed without software redesign. For example, the command pattern allows a software design to be easily reconfigured to replace a receiver of a command request or issue a new command request. To prepare for everlasting demands in diverse requirement changes, multiple design patterns are typically deployed to manage various design aspects of a software program. However, this can complicate the underlying program structure, resulting in difficulties of succeeding program revisions to preserve effective management of aspects. In particular, when design aspects cut across each other, realizing changes in one aspect likely revokes the management of other aspects. To address this problem, we propose a documentation approach to govern program revisions. In the approach, a design aspect is associated with a set of proactive views. Each view specifies how an implementation of the aspect is organized so that other aspects can be managed at the same time. The views capture the class relationships that must be kept to preserve effective management of aspects. The approach is illustrated using a pattern-based hotel management system.
Tsz Hin Ng, Shing-Chi Cheung
COMPSAC1