Expires soon Oracle

Research Assistant - Test case generation for Node.js web applications

  • Brisbane, Australia
  • Design / Civil engineering / Industrial engineering

Job description

This job code is utilized for the majority of our temporary hires. The individual is performing hourly job duties as defined under the Fair Labor Standards Act.

Desired profile

Qualifications :

This internship will explore test case (e.g. input) generation strategies for Node.js web applications with the goal of improving a dynamic security analysis.

Given an application, test case generation typically aims at automatically generating inputs that will trigger different execution paths (e.g. increase code coverage). In this internship, you will develop a test case generation tool for Node.js web applications to assist an existing dynamic security analysis. While there exists a large body or work on test case generation for web applications, existing work does not address the challenges and particularities of Node.js applications (e.g. dynamically typed, event-driven, prototype-based), and existing work on test case generation for JavaScript focuses on the client-side, not the server-side. During this internship, you will explore a variety of black and grey box techniques like automated crawling, and modelling as well as static analysis, and dynamic analysis to discover the interfaces of Node.js web applications and guide a test case generation strategy. Specifically, you will: 1. familiarise yourself with existing strategies for test case generation (e.g. crawling, modelling, interface discovery, and guided request generation), 2. design and implement a test case generation tool for Node.js web applications, and 3. measure the impact of your tool in terms of improvement to coverage and vulnerability detection, based on an existing security analysis.

Supervisors: Francois Gauthier, Behnaz Hassanshahi, and Alexander Jordan

Duties. You will:
* Work independently to research or develop a state-of-the-art solution to generate test cases for Node.js web applications
* Meet with your supervisor daily for guidance and to discuss ways to solve the problem
* Attend team meetings and give updates on your work
* Present your findings and outcomes to the group.

Prerequisites:
* For students currently enrolled in a PhD or research-based Masters degree in Computer Science or Software Engineering.
* Specific theory and coding skills:
* Knowledge of the Node.js ecosystem is required
* Working knowledge of the web stack and related technologies (e.g. HTML, DOM, AJAX, HTTP, web server, SQL/NoSQL databases) is required
* Knowledge of Linux and a scripting language (e.g. bash or python) is required
* Compiler / Program analysis background is a plus
* Demonstrated ability to work independently and collaboratively.

Benefits:
* These positions are paid at current industry rates.
* Travel & visa costs associated with overseas applicants will be reimbursed.
* Ongoing learning is incorporated into our every week to keep us at the cutting edge.
* International speakers frequently present their research to us.

Contact Paddy Krishnan for more details. The
position will commence interviewing immediately and remain open until filled.

Make every future a success.
  • Job directory
  • Business directory