Shin Hwei Tan

 

Ph.D Student
Email: shinhwei At comp Dot nus Dot edu Dot sg
School of Computing
National University of Singapore


Biography

I am currently a Ph.D student in School Of Computing in National University of Singapore. My supervisor is Prof. Abhik Roychoudhury

Previously, I received my bachelor and master degrees from Department of Computer Science of University of Illinois at Urbana-Champaign. During my Master studies, I was co-advised by Darko Marinov and Lin Tan.

My research interests include:

My CV is available for download here.

News


Research Projects

Codeflaws

Visit Website
Codeflaws is a benchmark that allows objective evaluation of program repair tools across defect classes.

Anti-patterns in Search-Based Program Repairs

Visit Website
Instead of using repair patterns obtained from human patches, our set of anti-patterns can be enforced on top of any search-based program repair tools. Enforcing anti-patterns in repair tools produces repairs faster, localizes better, and deletes less.

relifix

A test-driven automated repair tool that uses a novel set of contextual operators for automated repair of software regressions. Our set of operators uses syntactical information from changed statements. Repair more bugs than existing program repair tool, GenProg and our generated repairs are less less likely to introduce new regressions than GenProg.

Software Change Contract

Visit Website
A language that could be used to specify intended effect of program changes. Change contract focuses only on the program changes and their intended semantic effect. Program behavior that is unchanged across version does not need to be captured.

@tComment

Visit Website
Novel approach that automatically generates unit tests that check for inconsistencies between Javadoc comments written in natural languages and Java source code. Reported 24 inconsistencies in 6 open-sources Java projects.

ReAssert

Visit Website
A tool that automatically repair broken tests with the push of a button.

Software Patents

Software program repair

Patent
Hiroaki Yoshida, Shin Hwei Tan, Mukul R. Prasad
(Abstract) According to an aspect of an embodiment, one or more systems or methods may be configured to locate a fault in a software program using a test suite. The systems or methods may be further configured to modify, using a repair template, the software program in response to locating the fault. In addition, the systems or methods may be configured to determine whether the modification satisfies an anti-pattern condition. The anti-pattern condition may indicate whether the modification is improper. The systems or methods may also be configured to disallow the modification in response to the modification satisfying the anti-pattern condition or perform further testing on the software program, as modified, in response to the modification not satisfying the anti-pattern condition.

Publications

[EmSE]
bibtex Correlation of Test-suite Metrics with Patch Quality in Program Repair
bibtex Jooyong Yi, Shin Hwei Tan, Sergey Mechtaev, Marcel Boehme, Abhik Roychoudhury
Empirical Software Engineering Journal, To appear subject to minor revisions
[FSE 2017]
bibtex A Feasibility Study of Using Automated Program Repair for Introductory Programming Assignments
bibtexJooyong Yi, Umair Z. Ahmed, Amey Karkare, Shin Hwei Tan, Abhik Roychoudhury
ACM SIGSOFT International Symposium on Foundations of Software Engineering
[ICSE Poster 2017]
bibtex Codeflaws: A Programming Competition Benchmark for Evaluating Automated Program Repair Tools
bibtexShin Hwei Tan, Jooyong Yi, Sergey Mechtaev, Abhik Roychoudhury
(One-line Abstract) Codeflaws allows objective evaluation of program repair tools across well-defined defect classes.
[FSE 2016]
bibtex Anti-patterns in Search-based Program Repair
bibtex Shin Hwei Tan, Hiroaki Yoshida, Mukul Prasad and Abhik Roychoudhury
(One-line Abstract) Enforcing anti-patterns in repair tools produces repairs faster, localizes better, and deletes less.
24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE), 2016. Acceptance Rate: 27% (74/273)
[ICSE 2015]
bibtex Relifix: Automated Repair of Software Regressions
bibtex Shin Hwei Tan, Abhik Roychoudhury
(One-line Abstract) First automated repair tool for automatic fixing of software regressions using a novel set of contextual operators from two program versions.
37th International Conference on Software Engineering (ICSE), 2016. Acceptance Rate: 18.5% (84/452)
[TOSEM 2015]
bibtex Software Change Contracts
bibtex Jooyong Yi, Dawei Qi, Shin Hwei Tan, Abhik Roychoudhury
(One-line Abstract) Change contracts formally specify the intended effect of program changes.
ACM Transactions on Software Engineering and Methodology (TOSEM), 2015
[ISSTA 2013]
bibtex Expressing and Checking Intended Changes via Software Change Contracts.
bibtex Jooyong Yi, Dawei Qi, Shin Hwei Tan, Abhik Roychoudhury
(One-line Abstract) Change contracts formally specify the intended effect of program changes.
International Symposium on Software Testing and Analysis, (ISSTA), 2013. Acceptance rate: 32/124, 25.8%
[ICST 2012]
bibtex @tComment: Testing Javadoc Comments to Detect Comment-Code Inconsistencies
bibtexShin Hwei Tan, Darko Marinov, Lin Tan, Gary T. Leaven
(One-line Abstract) Novel approach that automatically generate tests that check for inconsistencies between Javadoc comments and Java source code.
Fifth International Conference on Software Testing, Verification and Validation, (ICST), 2012. Acceptance Rate: 26.9% (39/145).
[ICSE 2011]
bibtex ReAssert: A Tool for Repairing Broken Unit Tests
bibtexBrett Daniel, Tihomir Gvero, Vilas Jagannath, Johnston Jiaa, Damion Mitchell, Jurand Nogiec, Shin Hwei Tan, Darko Marinov
(One-line Abstract) A tool (Eclipse-plugin) that automatically fixes broken unit tests.
33rd International Conference on Software Engineering, (ICSE Demo), 2011.
[Master Thesis]
bibtex @tComment: Testing Javadoc Comments to Detect Comment-Code Inconsistencies
bibtexShin Hwei Tan
Thesis submitted for the degree of Master of Science (MS), Department of Computer Science, University of Illinois at Urbana-Champaign in 2012. Won David J. Kuck Outstanding MS Thesis Award!

Teaching

Teaching at National University of Singapore (NUS)

  • CS 4218 - Software Testing

Teaching at University of Illinois at Urbana-Champaign (UIUC)


Selected Awards


Awards and Recognitions