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.