New compiler tools help engineers and scientists create better computer programs
As computer models and software become more integral to the research of engineers and scientists, programs written at this highly specialized level are often complex and difficult to maintain. In fact, computers do not understand these high-level programs, and it is the job of compilers to translate very technical software to efficient low-level programs that can be run on target computers.
Modern compiler tools and techniques ensure that computer programs are efficient, easily maintained, and help programmers eliminate software bugs. It is especially vital that compiler tools are developed to meet the specific needs of scientists and engineers.
Professor Laurie Hendren, Canada Research Chair in Compiler Tools and Techniques, and her compiler tools group is currently working to that end, attacking a wide variety of challenges for the benefit of scientists and engineers worldwide.
The trend among scientists and researchers is towards using dynamic scripting languages such as Python, Perl and MATLAB. Although these languages may be convenient for quickly developing initial program prototypes, they are notoriously difficult to execute efficiently and their use often leads to unstructured and buggy programs.
Hendren’s answer is the construction of compiler toolkits that help programmers, engineers and scientists build faster, more maintainable and more correct programs. These toolkits are used by Hendren’s own research group to experiment with new approaches for scientific languages, as well as new tools to aid programmers in testing and refactoring applications. The toolkits are open-source and can be freely used by other compiler researchers, who can also contribute to this important area.
Hendren’s research group has a long history of building compiler toolkits for compiler researchers worldwide.