Internships

Bell Labs Internship on Advancing FlashFreeze Closure serialization for modern TypeScript (PhD)

Here you find the details for the internship named "Bell Labs Internship on Advancing FlashFreeze Closure serialization for modern TypeScript (PhD)" in the company Nokia.

Details
Name: Bell Labs Internship on Advancing FlashFreeze Closure serialization for modern TypeScript (PhD)
Company: Nokia
Description:

Description
Our research lab focuses on developing cutting-edge stream-processing geo-distributed systems designed to implement and execute multi-modal applications. Over the past few years, we have created an advanced and user-friendly framework called World Wide Streams, which simplifies the programming of distributed dataflow systems.

Similar to established distributed dataflow systems, our framework allows a dataflow program to be passed to the driver, which constructs the dataflow plan and instructs the master process to coordinate worker nodes for execution. In our implementation, TypeScript is utilized for embedding the dataflow DSL, as well as for the driver and main worker. To optimize runtime distribution of algorithms, we leverage FlashFreeze, a tool that efficiently serializes closures at runtime. FlashFreeze supports all self-contained ECMAScript 5 programs.

However, as we explore more complex use cases, the mandatory transpilation to ECMAScript 5 and reliance on common-js module bundling have become limiting factors. To address these challenges, we aim to write the original source code in the latest TypeScript version, utilizing ESM modules for improved functionality and scalability.

Project Goals

The goal of this internship is to define and implement a revised approach for FlashFreeze that incorporates:

Support for TypeScript: Enable seamless integration with the latest TypeScript versions.

ESM Modules: Transition from common-js module bundling to modern ESM modules for better compatibility and performance.

Enhanced Debuggability: Improve debugging capabilities to streamline development workflows.

Ultimately, the project aims to create a solution that is embraced by the broader TypeScript/JavaScript ecosystem, ensuring future evolution accounts for full closure serialization.

Your responsibilities:

You will first get familiar with the selected research prototype you will be asked to work on, to understand its current capabilities, goals and scope.
You will make a proposal on how you would implement the requested new features into the application; this will be an iterative process with the team
You implement, integrate and test the new features, and ensure the functionality and reliability
You will document the developed features and show the team on how to use/modify them

Your skills and experience:

Student enrolled in Ph.D. Computer Science/Engineering.
Strong programming skills in TypeScript and JavaScript
Some knowledge about code mobility and meta-programming
Familiarity with open-source software and tooling, including CI/CD pipelines

What We Offer:

A unique opportunity to work on state-of-the-art distributed systems and programming frameworks.
Hands-on experience with advanced TypeScript, JavaScript, and serialization techniques.
Collaboration with a team of researchers and developers passionate about innovation in distributed computing.
Contribution to a project with potential impact on the TypeScript/JavaScript ecosystem.

Target profiles:
    In industries:
    • Telecom
    Required special knowledge:

    Duration: Minimum 3 months
    Paid: Yes
    Net wage: -
    Foreign: No
    Contact: Marta Leite (Early Careers Talent Acquisition Partner)
    Email: marta.leite@nokia.com
    Tel: +32 477 99 61 23