Johnny Huang - 2023 Poster Contest Resources

Johnny is a rising senior at the University of Toronto studying bioinformatics and computer science. His hobbies include playing basketball as well as creating programs for fun such as automated bots within discord. 

Poster Abstract

Maintaining software quality requires rigorous and reliable testing procedures. In the context of the HPCC Systems platform, these needs are addressed through the operation of two key automated test systems - the Overnight Build and Test (OBT) systems and Smoketest. Each of these systems provides a unique set of advantages and presents different challenges in their respective operations. The OBT aims to provide a comprehensive examination of the platform's performance, ensuring thorough coverage of all the system's functionalities. Conversely, the Smoketest system emphasizes the efficient execution of the Regression Suite, where the duration of the test is a critical metric that directly impacts the development cycle. However, disruptions such as engine crashes, failures, or time-outs can drastically increase the execution time of the tests, potentially slowing the development process. During my internship, I concentrated primarily on refining the GitHub Actions scripts, a vital tool for automated testing within the HPCC Systems environment. These scripts analyze the logs generated from tests, providing a granular breakdown of the executed tests. This level of detail is invaluable, as it allows testers and developers to identify and troubleshoot issues efficiently. I also introduced enhancements to the scripts to improve the fault tolerance of our testing systems. These included adding logic to retry failed actions, increasing the resilience of the system to transient issues, reducing test failures, and decreasing the need for manual interventions.

To further aid in troubleshooting, I implemented a feature to enable core dumps during test execution. This provides a snapshot of the system state at the time of a crash or failure, which can be a crucial tool for developers. I also wrote a script that searches for potential core files and generates trace files from them. The script then zips these files, making them readily accessible for developers to analyze and diagnose the problem. The enhancements I introduced - with the help from my wonderful mentor Attila - have the potential to greatly improve the efficiency of the HPCC Systems testing processes. By enhancing the precision of test log analyses, enabling core dumps, and improving the resilience of the testing system, we are better equipped to maintain the robustness and reliability of the HPCC Systems platform. The success of this work will potentially have far-reaching impacts on the future deployments of HPCC Systems’ software.


In this Video Recording, Johnny provides a tour and explanation of his poster content.

Improve Error Handling and Reporting for Automated Test Systems

Click on the poster for a larger image.

All pages in this wiki are subject to our site usage guidelines.