Theme

Language

Global EN
Sweden ENSV
India EN

Master Thesis: Compiler-directed Deforestation in BEAM

Technology, Data & Digital · Software & Web Development · Software Engineering

In short

This Master's thesis focuses on optimizing intermediate data structures in the BEAM runtime by developing a general optimization mechanism within the BEAM compiler. The project involves designing and implementing new instructions, compiler passes, and runtime mechanisms, followed by empirical evaluation of performance and memory impact.

Responsibilities

  • Design and implement a new BEAM instruction for consuming intermediate terms without fully materializing them.
  • Add a compiler pass to the BEAM SSA pipeline that identifies suitable producer–consumer patterns.
  • Build on existing alias and sharing analyses, as well as the compiler’s destructive-update optimization.
  • Compile the Erlang/OTP codebase with the optimization enabled and measure how often it applies and which patterns it targets.
  • Extend the compiler test suite to verify that the transformation is safe and correct.
  • Implement the runtime mechanism in the BEAM interpreter to reclaim intermediate heap space while it is being consumed.
  • Evaluate the performance and memory impact of the optimization.

Requirements

  • Currently pursuing your Masters Degree within Computer Science or similar field with an interest in compilers, programming languages, operating systems, or runtime systems.
  • An interest in compilers, programming-language implementation, or language runtimes.
  • Programming experience and willingness to work with Erlang and C.
  • An ability to understand and modify an existing compiler and runtime system.
  • Interest in program analysis, memory management, and performance evaluation.
  • Careful attention to correctness, testing, and experimental methodology.

Desired Qualifications

  • Familiarity with SSA-based optimization or garbage collection is helpful, but not required.

Benefits

  • Outstanding opportunity to use your skills and imagination to push the boundaries of what's possible.
  • Build solutions never seen before to some of the world's toughest problems.
  • Challenged in a team of diverse innovators, all driven to go beyond the status quo.
  • Opportunity to contribute to Ericsson's future growth and innovation.

Skills

ErlangCSSA-based optimizationgarbage collection
#compiler#runtime systems#BEAM#optimization#program analysis#memory management#performance evaluation
Ericsson Logo

About Ericsson

Pioneering technology for connecting billions of people worldwide

Our purpose \nTo create connections that make the unimaginable possible.\n\nOur vision\nA world where limitless connectivity improves lives, redefines business and pioneers a sustainable future.\n\nOur values\nPerseverance, professionalism, respect and integrity.\n\nThe future is a place for purpose & vision – ours are clear, and we invite partners, customers and consumers to join us in our journey. \n\nFor a brighter future. For all. Let's #ImaginePossible

Ericsson Logo

Company

Ericsson

Job Posted

1 day ago

Employment Type

Internship

Work mode

On Site

Experience Level

Entry

Locations

Stockholm, Sweden

Qualification

Master

Applicants

Be an early applicant