City:  Paderborn
Date:  Nov 15, 2024

Final Thesis: Assessing the Influence of Pointer Analyses on Static Data-Flow Analysis in C/C++

The Fraunhofer-Gesellschaft (www.fraunhofer.com) currently operates 76 institutes and research units throughout Germany and is a leading applied research organization. Around 32 000 employees work with an annual research budget of 3.4 billion euros. 

Welcome to the Fraunhofer Institute for Mechatronic Design IEM!
 At the »Zukunftsmeile« in Paderborn, Germany, we conduct practical research to develop innovative solutions for mechanical and plant engineering, the automotive industry and related sectors. The focus is on intelligent products, production systems, services and software applications.

 

Static analysis is an important tool for finding bugs and security vulnerabilities in software. However, static analyses are known for reporting many false positives or fail to report real bugs (false negatives).
Precise data-flow analyses make use of the analysis results from different helper analyses, e.g., call-graph analysis, pointer analysis, or type-hierarchy analysis. Therefore, the quality of the analysis results depends on the quality of the helper-analyses' results. Especially in the context of C/C++, pointer analysis is particularly hard to implement, making the use of simpler, less precise algorithms attractive.
 

The goal of this thesis is, to empirically evaluate the impact of different pointer analyses on a bug-finding data-flow analysis in the context of C/C++.

 

What you will do

  • Find different pointer analysis implementations that are based on LLVM
  • Integrate them into the PhASAR framework for static analysis of C/C++-based LLVM IR
  • Create a ranking of the precision of these pointer analyses
  • Select one or more client data-flow analyses from PhASAR and evaluate the accuracy, as well as the performance of these analyses, considering the quality rank of the used pointer analysis
  • Derive guidelines on when it is beneficial to use which pointer analysis

 

What you bring to the table

  • Studies in Computer Science, or equivalent
  • Good C++ knowledge
  • Basic knowledge in static program analysis
  • Completed the course “Designing Code Analyses for Large Scale Software Systems” or equivalent [required]

 

What you can expect

  • We take a strong team culture with flat hierarchies for granted. That means: high regard and trust
  • Professional supervision and expert support in the preparation of your research project/ thesis
  • Insight into current business challenges
  • Flexible working from home to combine studies and work in the best possible way

 

This position is also available on a part-time basis. We value and promote the diversity of our employees' skills and therefore welcome all applications - regardless of age, gender, nationality, ethnic and social origin, religion, ideology, disability, sexual orientation and identity. Severely disabled persons are given preference in the event of equal suitability. 

With its focus on developing key technologies that are vital for the future and enabling the commercial utilization of this work by business and industry, Fraunhofer plays a central role in the innovation process. As a pioneer and catalyst for groundbreaking developments and scientific excellence, Fraunhofer helps shape society now and in the future. 
 

Interested? Apply online now. We look forward to getting go know you!

 

Questions about this position will be answered by:
Mr. Fabian Schiebel

Fraunhofer-Institut für Entwurfstechnik Mechatronik IEM
Zukunftsmeile 1| 33102 Paderborn

Telefon: +495251 5465-164
Web: https://www.iem.fraunhofer.de/

 

Requisition Number: 73523          

 


Job Segment: Data Analyst, Computer Science, Database, Part Time, Research, Data, Technology