Intern Project – A Virtual Machine for Software Quality Due Diligence

at Siemens Healthineers
Published May 2, 2023
Location Princeton, United States of America
Category Machine Learning  
Job Type Internship  

Description

We are seeking an intern to join our Architecture and Verification of Intelligent Systems research group in Princeton, NJ (New Jersey). The internship will focus on code quality evaluation and code quality metrics by combining state-of-the-art mechanisms and extending them with machine learning based algorithms.

Challenge

Due Diligence includes the evaluation of a company’s product portfolio with respect to software engineering and code quality.

Such an activity requires

  • Analyzing architecture, design, and code quality
  • Checking for strengths and weaknesses of used third-party libraries and frameworks (especially open-source libraries)
  • Analyzing test quality and coverage
  • Analyzing the engineering toolchain
  • Comparing the results of above outlined steps to similar sized projects

This is usually done by expert software engineers in a manual process. This internship project shall develop a fully automated solution that evaluates a software project and returns actionable feedback.

Responsibilities

  • Research state-of-the-art code quality metrics
  • Research of current (open source) code quality evaluation tools
  • Creation of a Virtual Machine image and install selected code quality tools
  • Creation of scripts that automatically downloads software from a variety of sources such as GitLab
  • Creation of scripts that run code quality tools on the downloaded software
  • Creation of an algorithm that aggregates the results of the tools into actionable feedback to the engineer
  • Creation of a database that allows for machine-learning based evaluation of software
  • Developing algorithms that allow for code quality ranking of the software in the database

Skills

  • Experience with Linux environment
  • Proficient programming skills in C/C++, Python, Go or any other system programming language
  • Knowledge of Object Orientation and Software Engineering best practices
  • Optional: Experience with code quality metrics would be a plus
  • Optional: Experience in data science and machine learning would be a plus

Equal Employment Opportunity Statement
Siemens is an Equal Opportunity and Affirmative Action Employer encouraging diversity in the workplace. All qualified applicants will receive consideration for employment without regard to their race, color, creed, religion, national origin, citizenship status, ancestry, sex, age, physical or mental disability unrelated to ability, marital status, family responsibilities, pregnancy, genetic information, sexual orientation, gender expression, gender identity, transgender, sex stereotyping, order of protection status, protected veteran or military status, or an unfavorable discharge from military service, and other categories protected by federal, state or local law.

EEO is the Law
Applicants and employees are protected under Federal law from discrimination. To learn more, Click here.

Pay Transparency Non-Discrimination Provision
Siemens follows Executive Order 11246, including the Pay Transparency Nondiscrimination Provision. To learn more, Click here.

California Privacy Notice
California residents have the right to receive additional notices about their personal information. To learn more, click here.