1
February
Full-time Internship - Predicting And Preventing Ci Build Er...
Oracle - Brisbane City, QLD
IT
Source: uWorkin
JOB DESCRIPTION
Applicants are required to read, write, and speak the following languages: English
Are you motivated to use your knowledge of synthesis, programming languages, and program analysis to detect security vulnerabilities? If so, we have a 6 month, full-time internship tenable during June 2021 to May 2022 that will interest you.
Software development heavily relies on Continuous Integration testing to prevent bugs in the early stages of the DevSecOps life cycle. However, very often, developers do not know whether their CI configurations can work across multiple platforms before actually triggering the build and consuming the resources on the build servers. In other words, many developers simply push a commit and wait for the CI runner to complete the build or fail, potentially taking hours. The main challenge with verifying such build configurations is that we do not have a complete model for the semantics of the build process. These days, the resources for running CI are mostly provided on cloud services, which can be very expensive and should be used optimally. This internship proposes to develop a tool to predict the build status (and perhaps prevent errors) in version control systems, such as GitHub. We plan to use and advance example-driven learning techniques [1] to synthesise specifications of CI configurations and statically predict the build status.
[1] \href{https://arxiv.org/abs/1805.04473}{Mark Santolucito, Jialu Zhang, Ennan Zhai, Ruzica Piskac, "Statically Verifying Continuous Integration Configurations", arXiv:1805.04473}
Project Outcomes
- A tool that can synthesise declarative specifications for CI to predict build status
- Experiments to evaluate the tool in practice
- A document that reports all the findings
Selection Criteria
- Enrolled in a Computer Science or similar program that has a relevant research component
- Understanding program analysis and compilers concepts
- Excellent programming skills in Python
- Knowledge of version control and Continuous Integration tools
- Excellent software engineering skills
- Demonstrated ability to work independently and collaboratively
Application
- Apply online with resume & transcript
Job: Product Development
Travel: No
Location: AU-AU,Australia-Brisbane
Job Type: Temporary Employee Hire
Organization: Oracle