Software libraries provide developers with a toolbox of high-quality programs and building blocks. But due to the complexity and poor documentation of these libraries, developers often use them incorrectly—and the consequences, such as bugs and security vulnerabilities, can be serious and costly. As Canada Research Chair in Software Reuse, Dr. Sarah Nadi aims to make it easier, faster and safer for developers to use these libraries by developing new comparison metrics for library characteristics.
Because developers may switch between libraries, Nadi and her research team are systematically developing benchmarks and automated techniques for supporting library migration. They are also targeting data scientists as an important emerging population of library users. Ultimately, their research will provide end-to-end support for library selection and migration for both software developers and data scientists.