5 days ago
Stockholm, SwedenEntry Level
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 to identify suitable producer–consumer patterns.
- Use existing alias and sharing analyses and the compiler’s destructive-update optimization.
- Compile the Erlang/OTP codebase with the optimization enabled and measure its applicability and target patterns.
- 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 terms are consumed.
- Evaluate the optimization’s performance and memory impact.
Requirements
- Currently pursuing a master’s degree in computer science or a similar field.
- Interest in compilers, programming-language implementation, or language runtimes.
- Programming experience and willingness to work with Erlang and C.
- Ability to understand and modify an existing compiler and runtime system.
- Interest in program analysis, memory management, and performance evaluation.
- Familiarity with SSA-based optimization or garbage collection is helpful but not required.
- Careful attention to correctness, testing, and experimental methodology.
Benefits
- Opportunity to work on compiler analysis, runtime implementation, and empirical evaluation at Ericsson.
- Opportunity to contribute to solutions addressing challenging systems problems within a diverse and inclusive team.
- Location: Stockholm, Sweden.
Tech Stack
Apache BeamCErlang
Categories
About Ericsson
Ericsson is a publicly traded telecommunications vendor that builds mobile network infrastructure (RAN, core, OSS/BSS), cloud platforms, and managed services for communications providers and enterprises. Founded in 1876 and headquartered in Kista, Stockholm, it supplies 5G systems to operators worldwide and owns Vonage, expanding network APIs and enterprise communications offerings.
