ACM-W Rising Star Award Recipient: Dr Shin Hwei Tan

Written by Taneea S Agrawaal

Portrait of Dr. Shin Hwei Tan

ACM-W would like to announce Dr. Shin Hwei Tan as this year’s recipient of the ACM-W Rising Star Award! The ACM-W Rising Star Award recognizes a woman whose early-career research has had a significant impact on the computing discipline.

Dr. Tan is currently an Associate Professor at Concordia University, Montreal, in the Department of Computer Science and Software Engineering.

Congratulations on winning the ACM Women Rising Star Award. Can you tell us about your journey in the field of computer science and technology? What inspired you to pursue this field, and what challenges did you face along the way?

Thank you so much for the award! I come from an all-girls primary school (Ave Maria Convent) where computer knowledge competitions were held annually. Taking part in the computer knowledge competition since young helps me to cultivate an interest in computing related topics and motivates me to get a bachelor degree in computer science. Transitioning from an all-girls school where my classmates are female-only to a field where female students were minorities was the biggest challenge for me, especially during the first few years of my undergraduate programs in UIUC where I had to endure the challenges of studying abroad in a foreign country together with the feeling of isolation as a students from underrepresented groups.

You’ve co-authored several award-winning papers, including one on silent bugs in PyTorch programs and another on large language models for automated repair. How has your work evolved with the rise of AI-driven code generation tools, and what role do you think human insight still plays in this process?

When my co-authors and I started working on automated program repair, AI-driven techniques were quite limited and we often needed to convince people outside of the field about the potential and the futuristic view of building software that can automatically fix bugs in software programs. With the rise of AI-driven code generation tools, software developers can try and experience the power of automated code generation. I think that this really changes the landscape of programming as it makes developers more willing to accept technology advancement and start using generative AI systems. However, as our study shows that AI-generated code may have bugs and may be incorrect, human effort is still important in verifying and ensuring the quality of the auto-generated code.  

In one of your recent projects, you explored ethics in open-source software with a focus on identifying unethical behavior. How do you see the intersection between technical research and ethical responsibility evolving in software engineering?

I think that there are a lot of new and interesting topics to explore in the intersection between technical research and software ethics. For example, our study of unethical behavior in open-source projects revealed that using offensive language when naming a software artifact is unethical as this may promote harmful behavior but some developers may overlook this and choose offensive names just for fun. As these software artifacts are publicly available and may be used by millions of developers, selecting appropriate names for software artifacts is an important and yet often overlooked responsibility for open-source software developers. 

Your collaborative projects such as GitHub-OSS Fixit and Codeflaws emphasize real-world application and education. How do you think we can better integrate open-source and applied projects into computing research and education to engage and empower students?

Getting students to be involved in open-source projects in GitHub-OSS Fixit is challenging at first as students need time and skills to transition from toy projects completed as part of the class assignments to real-world projects where they need to read and understand code written by others. I think the key to integrate open-source projects into education is to teach students the basics of open-source developments (e.g., using version control systems like Git, reading and communicating with open-source developers through GitHub issues and creating pull requests). Providing them with different online resources regarding open-source development and emphasizing how much software companies value open-source contributions are important steps to encourage students to get started with open-source contributions. In terms of research engagement, I usually encourage students to select particular open-source projects that are research prototypes so that they can read the corresponding research papers and understand the implementation details of the proposed research tools to identify gaps for further improvement. 


   



  • Facebook
  • Twitter
  • LinkedIn
  • Email
  • Print