Introduction
The IBM Technology Lifecycle Services (TLS) department "The ITCenter" is responsible for a global service called ECuRep (Enhanced Customer Data Repository). Currently we are transitioning this service to cloud readiness and AI (Artificial Intelligence) integration. Your opportunity is to support this transition with an AI project.
Your Objective: Develop and evaluate strategies to automatically generate test cases with high coverage for large codebases primarily written in Java and Perl using generative AI techniques.
Your Role and Responsibilities
- Literature review: Conduct a comprehensive literature review on existing methods for automatic test case generation, machine learning, and generative AI. Identify state-of-the-art techniques and potential gaps in the current research.
- Data collection: Gather a representative dataset of Java and Perl codebases to serve as a basis for developing and evaluating the proposed strategies.
- Model selection: Experiment with various generative AI models, such as Transformers or Variational Autoencoders, and select the most suitable ones based on performance and feasibility. Develop prompting strategies.
- Evaluation: Evaluate the generated test cases' quality and coverage using metrics such as fault detection rate, mutation score, and branch coverage. Compare the results with those obtained from traditional manual testing methods.
- Strategy formulation: Based on the evaluation results, formulate strategies for efficiently generating test cases with high coverage for large codebases. Provide recommendations for integrating the proposed strategies into existing continuous integration/continuous deployment (CI/CD) pipelines.
- Presentation and dissemination: Present your findings in a final report and defend your thesis in front of a committee. Disseminate your results through academic publications, conference presentations, and workshops.
Want more jobs like this?
Get jobs in Frankfurt, Germany delivered to your inbox every week.
Required Technical and Professional Expertise
- Strong background in computer science, mathematics, or a related field. Familiarity with artificial intelligence, machine learning, and software engineering is required.
- Proficiency in programming languages such as Java and Perl.
- Excellent analytical and problem-solving skills.
- Ability to work independently and collaboratively in a dynamic environment.
- Good communication skills in English and German, both oral and written.
Prerequisites: Completion of a relevant bachelor's degree program or equivalent. Successful completion of at least basic courses in artificial intelligence, machine learning, and software engineering is recommended.
Preferred Technical and Professional Expertise
Interest in new technologies like AI and ability to quickly learn new things.
Good German language skills (spoken & written)