Shin Hwei Tan 陈馨慧

 


Shin Hwei Tan
Assistant Professor
Email: tansh3 At sustc.edu.cn
Department of Computer Science and Engineering
Southern University of Science and Technology (SUSTech)
Shenzhen, China


Biography

I am a tenure-track Assistant Professor at Southern University of Science and Technology. On March 2018, I obtained my PhD degree from School Of Computing in National University of Singapore. During my PhD studies, I was advised by 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 CV is available for download here.

My research interests include:


I am currently seeking new PhD students, Master students, and PostDocs with background in program analysis, software testing, and Android apps (NLP, evolutionary/genetic algorithm or machine learning experiences is a plus). If you are interested, please send me an email to set up a meeting.

News


Research Projects

Droix

Visit Website
Droix is a novel automated repair framework for Android apps. Droix could repair crashes based on one crashing UI input. We also propose Droixbench, a benchmark that contains a set of reproducible crashes in Android apps.

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

[ICSE 2018]
bibtex Repairing crashes in Android apps
bibtexShin Hwei Tan, Zhen Dong, Xiang Gao, Abhik Roychoudhury
(One-line Abstract) We propose Droix, the first novel Android repair system that could automatically fix crashes in Android apps based on only one single UI sequence as test input.
40th International Conference on Software Engineering (ICSE), 2018.
[GI@ICSE 2018]
bibtex A spoonful of DevOps helps the GI go down
bibtexBenoit Baudry, Nicolas Harrand, Eric Schulte, Chris Timperley, Shin Hwei Tan, Marija Selakovic, Emamurho Ugherughe
(One-line Abstract) We discuss why we believe that DevOps offers an excellent technical context for easing the adoption of GI techniques by software developers.
4th International Genetic Improvement Workshop
[EmSE, Journal First ICSE 2018]
bibtex A correlation study between automated program repair and test-suite metrics
bibtex Jooyong Yi, Shin Hwei Tan, Sergey Mechtaev, Marcel Boehme, Abhik Roychoudhury
(One-line Abstract) A study that answers the question "Can traditional test-suite metrics proposed for the purpose of software testing also be used for the purpose of automated program repair?".
Empirical Software Engineering, Journal First
[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
(One-line Abstract) The first study that investigates the feasibility of applying automated program repair techniques for fixing programming assignments.
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, Yulis, 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

Service