Static Analysis with Parfait - Call graph improvements
Duration of internship: 12 months
Abstract:
The objective of this internship is to improve the call graph construction in the Parfait static analysis tool, for two different target languages (Python and Java) and evaluate the results. Parfait is written in C++, built on top of the LLVM infrastructure, and finds a large variety of software bugs and security vulnerabilities (including unsafe deserialisation and SQL injection). A call graph is a control-flow graph, which represents calling relationships between functions in a computer program. Currently, missing edges in the call graph results in incomplete control flow information during analysis, which leads to reduced precision in Parfait results.
This internship will involve: (1) implementing several small improvements to call graph resolution and (2) benchmarking the changes to measure their effect on precision/recall and analysis time.
Problems to explore and address include resolving calls via an interface or abstract type when multiple concrete implementations exist and application of name-based resolution (i.e. resolving calls to a particular named function to declarations using the same name) when other approaches fail.
The expected outcomes of this internship are:
- To improve the precision and recall of the tool, potentially reducing both false positive and false negative reports.
Prerequisites:
The ideal candidate is expected to:
- Be undertaking a Bachelor's degree in Computer Science, Software Engineering or a related field, with excellent academic results (preferably in the 3rd/4th year of the Bachelor's degree)
- Have knowledge in compiler construction and/or program analysis, either through coursework or practical own experience
- Be proficient in C++
- Have the ability to work independently and collaboratively
Good to have:
- Experience with the Python programming language
- Experience with the Java programming language
- Experience with Python/Java web development frameworks such as Flask/Spring
Get email alerts for the latest"Student / Intern jobs in Australia-brisbane"
