Building a tool for more efficient software coding: USask research – News

Unfortunately, software errors (bugs) can have massive economic impacts, with only 606 bugs costing $1.7 trillion worldwide in 2017, affecting 3.7 billion people and over 300 companies,” said Bhattacharjee.

Software bugs have the potential to put humans in dangerous situations. Glitches in flight control software can lead to fatal plane crashes or errors in self-driving car programs can cause an increased risk of accidents.

“The ratio of reading versus writing code is almost nine to one. Therefore, by guiding developers to read code more effectively and efficiently, we can minimize developers’ time, ultimately reducing software cost and encouraging more bug-free software.”

To combat bugs during the software developing process, Bhattacharjee and research supervisors Dr. Banani Roy (PhD) and Dr. Kevin Schneider (PhD) from the USask Department of Computer Science are developing a tool to aid developers in reading and writing better code.

The team has been working alongside the USask Global Institute for Water Security, where their source code tool has been used to maintain and develop the Cold Region Hydrological Model (CRHM) software program that is used to predict potential fluxes and states of water and energy in the environment.

Bhattacharjee also developed the back end of the USask Global Water Futures Nutrient App, which allows farmers and scientists across North America to measure water quality by using their phone cameras and low-cost water test kits. The app can measure nutrient concentrations in freshwater and provide water contamination alerts.

In both cases, it is vitally important the information provided to environmental decision makers is as accurate as possible.

“We created an Abstract Code Summary (ACS) tree, an indexed data structure for searching and exploring the codebase in a guided way,” said Bhattacharjee.

The ACS tree provides a way for computer science students and experienced developers to effectively navigate complex computer code and as a result improve their ability to make…