Program analysis examines computer programs to assess their correctness, robustness, safety, and performance. As part of our research project R3, we are seeking a motivated student to explore the topic of C++ object invariants. Class invariants are a fundamental aspect of data structure integrity and play a key role in program analysis. They capture the essential properties of objects that must hold across all valid program executions. Understanding and retrieving these invariants is crucial for advancing automated program verification and analysis. The research direction is open-ended, but possible focus areas include:
- Investigating the relationship between C++ object states and class invariants
- Developing new functions to extract and represent the internal state of objects
- Applying machine learning methods (e.g., LLMs, RNNs, GNNs) to retrieve and interpret object state information
- Designing experiments based on SV-COMP use cases
- Evaluating the performance and accuracy of the proposed methods on benchmark programs This project provides the opportunity to work at the intersection of program analysis, C++ systems programming, and deep learning methods. For further information or to express your interest feel free to reach out.