Igor Wodiany

PhD, BSc (Hons), AFHEA
[name] (at) [surname] (dot) com

Member: ACM

I am a dedicated research engineer with an interest in compilers, architectural modelling and simulation, as well as binary analysis and rewriting. My professional journey includes both academic and industrial experience in performance analysis and optimizations, code vectorization, parallel programming, software security, and RTL design. I am proficient in C, C++, Python, and ARM and RISC-V assembly, with a strong emphasis on system programming. As a maintainer of the DBM framework MAMBO, I am actively involved in open source software. I hold a BSc in Computer Science from the University of Manchester, and my PhD thesis focused on binary lifting and recompilation.

LinkedIn GitHub

Give blood


Experience

Senior Research Engineer

Imagination Technologies

Aug 2024 -

Research Assistant

The University of Manchester

Research Assistant in the Advanced Processor Technologies (APT) Group in the Department of Computer Science. Currently, working as part of a small research team on the UKRI Soteria project. Contributing to several Dstl and UKRI funded research projects focused around Morello (Arm + CHERI) architecture. Maintainer of MAMBO, a dynamic binary modification system, GitHub repository; contributing to the implementation, conducting code reviews and running weekly meetings. Travelled to EU events (HiPEAC, FOSDEM and RISC-V Summit EU) to promote MAMBO and encourage its adoption in research and RISC-V communities. Developed a proof-of-concept dynamic binary translator based on MAMBO. Supporting researchers and undergraduate students working on binary analysis.

Nov 2022 - Aug 2024

Graduate Teaching Assistant

The University of Manchester

Employed, whilst working towards PhD, to support a number of undergraduate taught modules. Supported modules: System-on-Chip Design, Processor Microarchitecture, Microcontrollers, Operating Systems, Fundamentals of Computer Engineering, Fundamentals of Computer Architecture, Fundamentals of Computation and Introduction to Programming. Taught concepts including: fundamentals of Verilog, combinatorial and sequential design, and assembly and microcontroller programming. Re-developed Microarchitecture laboratory teaching materials. Awarded Associate Fellowship of Advance HE shows commitment to the teaching excellence.

Sep 2019 - Jan 2023

Software Engineer

Five AI

Summer intern working on lossless image compression for self-driving cars. Developed a highly optimised CPU and GPU (CUDA) image encoder and decoder that achieves a real-time performance reducing, the size of data saved to the storage device. Created technical documentation for the developed module.

Jun 2019 - Sep 2019

Wireless Software Engineer

Intel Corporation

Software engineer working on optimising LTE and 5G algorithms. Implemented and optimised physical layer algorithms for LTE and 5G NR networks on Intel Architecture using the AVX instruction set in C++. Designed and implemented test framework and Python automation for the project. Developed Matlab simulations of physical layer functions. Advocated for Doxygen adoption to unify generation of the documentation across the project. Worked as a part of a larger group distributed across multiple time zones.

Jul 2017 - Aug 2018

Hardware Engineer

The University of Manchester

Vacation position at the School of Computer Science. Developed, tested and documented Verilog-based drivers for school's Spartan-6 FPGA experimental boards used for teaching; devices included HD44780 display, LED matrix and various I2C devices. Got exposed to design and verification of sequential systems and Cadence software. Soldered boards and created technical documentation.

Jun 2016 - Aug 2016


Education

The University of Manchester

PhD Computer Science

Thesis: "On Novel Binary Lifting and Its Applications"

Supervised by: Dr Mikel Luján and Dr Antoniu Pop

Research Group: Advanced Processor Technologies (APT)

Developed a binary lifting tool for 64-bit Arm Linux executables. Implemented in C and Arm assembly. Utilises QEMU TCG IR.

Developed an OpenMP profiling tool (AfterOMPT) focused on fine-grained tracing of tasks and loops.

2019 - 2024

The University of Manchester

BSc (Hons) Computer Science with Industrial Experience

First Class (86%)

Third year project: "Low-Precision Neural Network Decoding of Polar Codes"

Elected Student Representative at Student Staff Committee in years 2015/16, 2016/17 and 2018/19. Study focused on on mobile systems and networks, computer architecture and microarchitecture, System-on-Chip design and algorithms.

Study focused on computer architecture and microarchitecture, System-on-Chip (SoC) design, bare metal programming (Arm), algorithms, mobile systems and computer networks.

2015 - 2019

Liceum Ogólnokształcące nr III im. A. Mickiewicza

High School

Average: 4.75

Studied wide range of subjects such as Mathematics, Physics, Computer Science, Chemistry, Biology, Geography, History, Social Sciences and languages. Mainly focused on Mathematics, Physic and Computer Science. Represented school in regional competitions.

2011 - 2014


Volunteering

OpenMP Tools Subcommittee Member

OpenMP Tools Subcommittee

Contributed to the improvement of the OMPT callbacks (ompt_work_callback_t and ompt_dispatch_callback_t) for an improved fine-grained tracing of loops. Contributed changes were implemented in the version 5.2 of the OpenMP specification. Contributions were based on the paper titled: "AfterOMPT: An OMPT-based tool for fine-grained tracing of tasks and loops" published to IWOMP 2020.

Sep 2020 - Jul 2021

CS Peer Support Coordinator

The University of Manchester

Co-organised Peer Support sessions for around 250 2nd year Computer Science students. Planned weekly activities to help students with their studies and finding an employment. Engaged with school's staff to get required support and to improve students’ experience.

Jun 2018 - Jun 2019

Hackathon Director

HackSoc Manchester

Co-organized four hackathons (GreatUniHack and StudentHack) in Manchester with a total of 1000 participants across all events. Managed finances, logistics and relations with external companies. Raised sponsorships and supervised multiple teams working on the event.

Apr 2016 - Nov 2018


Publications

LeanBin: Harnessing Lifting and Recompilation to Debloat Binaries

Igor Wodiany, Antoniu Pop, Mikel Luján
IEEE/ACM International Conference on Automated Software Engineering (ASE) 2024

AfterOMPT: An OMPT-based tool for fine-grained tracing of tasks and loops

Igor Wodiany, Andi Drebes, Richard Neill, Antoniu Pop
International Workshop on OpenMP (IWOMP) 2020

Low-Precision Neural Network Decoding of Polar Codes

Igor Wodiany, Antoniu Pop
IEEE International Workshop on Signal Processing Advances in Wireless Communications (SPAWC) 2019

(*) © 2019 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
(**) The final authenticated publication is available online at https://doi.org/10.1007/978-3-030-58144-2_11


Talks

MAMBO: Dynamic Binary Instrumentation on RISC-V

John Alistair Kressel, Igor Wodiany, Mikel Luján
Open-Source RISC-V Software Workshop @ RISC-V Summit Europe 2024

MAMBO - Dynamic Binary Modification Tool for RISC-V

Igor Wodiany, John Alistair Kressel
Free and Open Source Developers’ European Meeting (FOSDEM) 2024

MAMBO: Dynamic Binary Instrumentation on Arm and RISC-V (Tutorial)

Joshua Lant, John Alistair Kressel, Igor Wodiany, Konstantinos Iordanou, Kyriakos Paraskevas, Mikel Luján
HiPEAC 2024


Awards

Associate Fellowship of Advance HE
In recognition of attainment against the UK Professional Standards Framework for teaching and learning support in higher education.

The Global Undergraduate Awards: Highly Commended
Awarded in the category of Computer Science for being in the top 10% of all submissions (3437 entries).

President's Doctoral Scholar Award
The PDS Award gives the most outstanding students from across the UK and from around the world a foundation to support research training with prominent academics across a full range of subjects.

Certificate of Excellence
This prize is awarded to the top 10% of graduating Computer Science students based on the final degree average.

Head of School Award
Award for outstanding contribution to the life of the School of Computer Science.

Outstanding Contribution to Peer Support Award
Awarded in recognition of a significant commitment, dedication, collaboration and innovation within Peer Support during the academic year 2018/2019.

Golden Anniversary Prize
The Golden Anniversary Prize for excellence in the first year of studies. Top 5 out of 220 students.


Projects

LeanBin

Hybrid binary lifter for AArch64 ELF binaries. First presented at ASE 2024 (slides).

MAMBO

Dynamic binary modification (DBM) system. Maintainer of the repository and a contributor.

AfterOMPT

OMPT-based tool for fine-grained profiling of OpenMP applications. First presented at IWOMP 2020 (slides).

Aftermath

Profiling and performance analysis framework. Integrated AfterOMPT support.


Skills

Programming: C++, C, Python, ARM and RISC-V Assembly, CUDA, Bash, OpenMP

Tools & Technologies: Git, Verilog, LaTeX, LLVM, QEMU, GDB

Operating Systems: Linux

Other: Code Vectorization, GPGPU

Languages: English, Polish


Extras

Summer School: 4th Programming Languages Implementation Summer School (PLISS) 2022
Attended a number of courses related to programming languages between 24-29 October 2022

Summer School: 17th International Summer School on Advanced Computer Architecture and Compilation for High-Performance Embedded Systems (ACACES) 2021
Attended 4 course (Compile to Learn to Compile: There and Back Again, Reconfigurable Computing for Software Programmers, Task-based Parallel Programming Models: The Convergence of High-Performance and Cyber-Physical Computing Domains, Hardware security) between 12-18 September 2021.

Training: Making an Impact
Organized by DY Training. Attended in May 2021 and January 2022 as a part of the President's Doctoral Scholar (PDS) training program.

Training: Essentials of Leadership
Organized by Hutchinson Training. Attended in January 2021 and January 2022 as a part of the President's Doctoral Scholar (PDS) training program.

Summer School: 16th International Summer School on Advanced Computer Architecture and Compilation for High-Performance Embedded Systems (ACACES) 2020
Attended 5 course (Exploiting the Benefits of Graphics Processing Units: Programming, Architectures and Simulation, Software-level Attacks on Architectural and Microarchitectural State, Whole Systems Energy Transparency: More power to software developers!, Machine Learning Accelerators, A glimpse of real-time systems theory and practice in the wake of multicore processors and mixed-criticality) between 7-17 July 2020

Training: Leadership in Action
Organized by Vitae. Attended in January 2020 as a part of the President's Doctoral Scholar (PDS) training program.

Certificate: IELTS (International English Language Testing System) Academic - Overall 7.5
Issued by the British Council on June 2015. Expired June 2017.