Skip to content
View dfilaretti's full-sized avatar
  • Veridise
  • Italy
  • 20:02 (UTC -12:00)

Block or report dfilaretti

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
dfilaretti/README.md

👋 About

I’m a software engineer and computer scientist, with a PhD in Computer Science from Imperial College London, and a background spanning audio systems, programming languages, and blockchain technologies.

I currently work in web3 security and formal methods, focusing on the development of static analysis tools for Solidity smart contracts.

Earlier in my career, I also specialized in audio programming and music technology (C++/JUCE, Matlab, Max/MSP) and remain active as an electronic music artist. I also enjoy functional programming and have hands-on experience in Haskell and Clojure among others.

For more details, please also see my LinkedIn profile.

🧑‍💻 Stuff I'm working on

I'm currently employed as a Senior R&D Engineer at Veridise where I help develop static analysis tools for discovering vulnerabilities in Solidity smart contracts.

📚 Stuff I'm learning

Mastering Ethereum (2nd edition)

Image










🎧 Past projects (audio / music technology)

Sweeper

Image

Co-author & Lead developer
2024-Present

An audio FX plugin designed in collaboration with an acclaimed trance producer. It should be the first of a series of releases.

More info soon 🔥





Loopcloud

Image

Developer
2020-2024

Since 2020, I contributed to the development of the Loopcloud desktop app and its companion audio plugin (which syncs the app to the user's DAW for a more integrated experience).

I delivered several new major features (such as collections, MIDI support and an onboarding interactive tutorial), and an extensive UI rework, in addition to countless bug fixes and workflow improvements.





TATAT

Image

Lead developer
2021-2022

TATAT is a MIDI plugin designed for 3 main purposes: to create always-changing sequences, to quickly sketch and store music ideas, to add unexpected events to fixed patterns.







Solid State Logic (SSL)

Image

Developer
2016-2017

I had the privilege of working at SSL headquarters in Oxford.

During my employment there I helped develop and maintain the software powering Solid State Logic’s high-end digital consoles in both the Broadcast (System T) and Live (L200, L350 etc.) product families (C#).



df.arp

Image

Author
2020-Present

A Max4Live device I built for helping me quickly come up with lead patterns when writing trance. It started as a 2020 lockdown project but it's still receiving updates!

Available here!



Free plugins bundle

Image Image

Author
2018

A bunch of free audio plugins I wrote while learning JUCE.



💻 Past projects (blockchain)

K-Framework (Haskell backend)

Image

Developer
2018

According to its official docs,

"K is a rewrite-based executable semantic framework in which programming languages, type systems and formal analysis tools can be defined using configurations and rules"

I loved using K as the foundational framework for my research work as a PhD student,
and I was privileged, a couple of years later, to be able to contribute back to its community (as well as practicing some Haskell!)



Solidity to IELE compiler

Image

Developer
2018

IELE is an improvement on the Ethereum blockchain virtual machine. It was created after the KEVM project demonstrated that a K formal specification of EVM could automatically generate a VM comparable in performance to hand-crafted implementations.

I helped developing the Solidity to IELE compiler.




💻 Past projects (misc)

Yapster

Image Clojure Developer (full-stack)
2019 - 2020

Helped developing Yapster - a messaging app for the workplace; contributing new features across both frontend and backend as well as bug-fixes (Clojure/ClojureScript).

I really enjoyed learning and working with the Clojure programming language!




DIMMAND

Image

Lead Developer
2016 - 2017

Lead the development of DIMMAND, a cross-platform digital solution for detecting literacy difficulties & strengths in children.



ne - the nice editor

Image

Internship
2009 - 2008

Implemented syntax highlighting in the ne text editor.



🧸 Toy projects

img2ASCII

Image

Author
2025-Present

As I've been learning Rust during the last couple of months, I decided to get some practice by building this fun little project that converts image files to ASCII art.

One of the goals was also to familiarize with functional programming techniques in Rust (e.g. I didn't use any for loop to iterate through the image pixels, but relied on iterators facilities; also tried not to use mutable variables)

Check out the README!

🧪 Research & publications

I hold a PhD in Computing from Imperial College London, where I worked in the field of programming language theory and formal methods.

My thesis was about the formalisation of the PHP programming language and the development of a static analysis tool derived from the formal semamtics (see below).

Here are the main research projects and publications I worked on during the years.

Projects

K-PHP (Executable formal semantics of PHP)

Lead Developer / PhD Student
2018

KPHP is a formal specification of the PHP programming language written in the K-Framework, together with a prototype bug finding tool based on the theory of abstract interpretation and derived directly from the formal semantics.

JCCert / JSRef (Certified Javascript)

Developer / PhD Student
2018

JSCert is a mechanised specification of JavaScript, written in the Coq proof assistant. JSRef is a reference interpreter for JavaScript in OCaml, which has been proved correct with respect to JSCert and tested with the Test 262 test suite.

Publications

2019

2018

2016

2014

2011

Popular repositories Loading

  1. WeirdDrums WeirdDrums Public

    Open Source Drum Synth plugin

    C++ 27 4

  2. bitcrusher-demo-2 bitcrusher-demo-2 Public

    simple bitcrusher plugin written in JUCE

    C++ 10 1

  3. waveshaper-demo waveshaper-demo Public

    A parametric waveshaper plugin

    C++ 10

  4. uplift-arpeggio uplift-arpeggio Public

    arpeggiator/sequencer for Uplifting Trance-y stuff

    Max 6

  5. KPHP KPHP Public

    An Executable Formal Semantics for PHP 5

    PHP 3 2

  6. stereowidth-demo stereowidth-demo Public

    A simple mid-side processing plugin

    C++ 1