Experience

Research/Development/Teaching Experience.

Research Experience

2018-2021


  • Systematically characterizing IoT test suits in different layers of IoT architecture (device, edge, cloud, app) and from different angles (component-under-test, test level and quality)
  • Proposed a bug taxonomy for IoT with Root Cause Analysis (RCA) of more than 300 IoT bugs (published in ICSE).
  • Systematically characterized the development challenges in IoT with interviews and survey with more than 200 IoT developers involved (published in ICSE).
  • Provided an IoT bug benchmark consists of 323 labeled IoT bugs which is evaluated as Reusable by ICSE artifact evaluation committee (published in ICSE Companion ).
  • Conducted a large-scale automatic categorization of IoT-related StackOverflow discussions using Latent Dirichlet Allocation (LDA) Topic Modeling technique.
  • Proposed an automatic test case generation technique for IoT systems, using path coverage of IoT SmartApps code. Experimented on AWS and SmartThings IoT platforms.
  • Proposed a Testing Tool for Stress Testing IoT systems. This tool utilizes System Modeling using IoT system specifications based on W3C standards, and provides web-based graphical insights on IoT System Reliability based on various software engineering quality metrics such as MTTF, MTBF, and MTTR.




Development Experience

Back-end Developer @ AUT IoT Lab

2019


  • As a PHP back‑end developer, was responsible for testing and code maintenance of more than 100 micro‑services in the IoT platform.
  • Solved known bugs in the permission system, improved the event logging and error management by debugging other developers’ buggy code.
  • Worked closely with the clients and the IoT core team to successfully pass the load requirement of handling 5000 concurrent nodes.


Software Engineer @ TAKTA Electronic Research & Production Co.

2018


  • Designed and implemented a JavaScript IoT hub server and an iOS/Android mobile app using React Native for an IoT-based monitoring system for remote TV transmitters.
  • Consistent team‑work with the hardware engineering team for testing and deploying the product with real on‑site TV transmitters.


Software Engineer Intern @ Alton Tech. Co.

2017


  • Built an iOS application to control smart light bulb devices in our office remotely.
  • Worked closely with the project supervisor and the back‑end team to design APIs in Java, that allow other developers to query the IoT lamps.




Teaching Experience

CPSC 455- Software Engineering Applied Industry Skills

2021


  • 400-level course- Department of Computer Science at UBC.
  • Mentoring students during interactive web development workshops and labs about front‑end development (React.js), back‑end API development (Express.js), and NoSQL databases (MongoDB).


CPSC 319- Software Engineering Projects

2020


  • 300-level course- Department of Computer Science at UBC.
  • Working directly with Stakeholders from HSBC bank and two large student groups to deliver an email campaign service following a Waterfall SDLC methodology and using AWS services such as Amplify, DynamoDB, SES, and S3.


CPSC 410: Advanced Software Engineering

2020


  • 400-level course- Department of Computer Science at UBC.
  • Responsible for directing five student groups towards developing static and dynamic source code analysis tools, applying design patterns, and developing self-defined domain‑specific languages all in Java.