Welcome to my blog

Hi, I am a computer science student at UCLouvain, Belgium.
Captured from https://github.com/Ahzed11/pixelwar

Publishing Common Test Results on Github

Discover how the publish unit test result action can be used with the common test module

March 11, 2024 · 3 min

Testing Erlang/OTP Dynamic Software Updates with Common Test

Introduction In a previous blog post, I delved into the use of Robot Framework for testing dynamic software updates. Although it worked reasonably well, a more sensible approach is to leverage tools readily available within the Erlang ecosystem. Consequently, this post will delve into the use of Common Test for testing dynamic software updates. Dynamic software updates Dynamic software update (DSU) refers to the process of updating parts of a program without halting its execution....

February 4, 2024 · 6 min

Testing Erlang/OTP Dynamic Software Updates with Robot Framework

Introduction Dynamic software updates Dynamic software update (DSU) refers to the process of updating parts of a program without halting its execution. It enables running programs to be patched on-the-fly to add features or fix bugs. This capability is particularly crucial for applications that must consistently deliver reliable results. Examples of systems requiring dynamic software include: Banking applications Air traffic control systems Telecommunication systems Databases However, ensuring the correctness of a dynamic software update is challenging and complex....

January 14, 2024 · 4 min

Dependency Graph Visualization in Erlang/OTP

This will be a short one as there is not much to say however I want to keep my findings somewhere so here it is. TLDR #!/usr/bin/env escript % -*- erlang -*- main(_) -> xref:start(server), xref:add_directory(server, "_build/default/lib", [{recurse, true}]), {ok, Deps} = xref:q(server, "E ||| V"), xref:stop(server), FromTo = lists:map( fun(X) -> {{From, _, _}, {To, _, _}} = X, {From, To} end, Deps ), FromToDifferent = lists:filter( fun(X) -> {From, To} = X, From =/= To end, FromTo ), FromToUnique = lists:uniq(FromToDifferent), LinksText = lists:foldl( fun(X, Acc) -> {From, To} = X, FromString = atom_to_list(From), ToString = atom_to_list(To), case string:prefix(ToString, "$") of nomatch -> string:join( [Acc, "\t", FromString, " -> ", ToString, "\n"], "" ); _ -> Acc end end, "", FromToUnique ), Output = string:join(["strict digraph {\n", LinksText, "}\n"], ""), ok = file:write_file("....

October 20, 2023 · 3 min