Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Browse: Abstracts, Winners and runners up, Awards Ceremony (Watch Recording / View Slides), Posters by HPCC Systems InternsPosters by Academic Partners, Poster Judges, Virtual Judging, Home

Noah Seligson is a Bachelor student studying Computer Science at the University of Central Florida.

Noah joined the 2022 HPCC Systems Intern Program to complete a project that involved creating test code with expected results for a number HPCC Systems Machine Learning Bundles:

  • GLM
  • Learning Trees
  • GNN
  • K-Means
  • DBScan
  • PBblas
  • Linear Regression
  • Support Vector Machines
  • Text Vectors
  • Guassian Process Regression (GPR)

During his internship, he more than doubled the number of tests in our overnight build test suite which is a significant contribution. These tests will mean that developers no longer need to write manual tests when using these bundles.

As well as the resources included here, read Noah's intern blog journal which includes a more in depth look of his work. 

Poster Abstract

In the software engineering development process, testing is a crucial component that ensures a program works as intended. In large-scale project development, devoting time to scanning the entire scope of source code to determine why a program is failing is inefficient. Testing is both a cost and time effective solution. In particular, unit testing allows developers to test functions individually to facilitate the exact cause for a project's failure and what steps should be taken in case future development builds cause errors. 

HPCC Systems contains a robust Machine Learning library with approximately a dozen bundles containing a conglomeration of complex source code files. The company also has a test system known as the Overnight Bundle and Test (OBT) system. The OBT allows for daily automatic testing to consistently track whether each test case leads to a passing result. The ECL bundle library already contains test files that run programs, however, for the most part, they don’t validate a result and don't focus on individual functionality. 

The project’s goal was to integrate each Machine Learning bundle into the OBT. This was done per bundle by adding a folder titled ecl, where there were two components, test and key files. The test files include unit tests that run individual functions under a set of different test cases. Additional test files are modified versions of existing test code, included so they can be implemented into the OBT. Each key file contains XML formatted text representing the correct result that the OBT scans for when running each corresponding test file. 

Presentation

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

Provide Test Code for Bundles with no Self Test

Click on the poster for a larger image.

 


  • No labels