Eduard Staniloiu

Dr. Eduard Staniloiu

orcid

Research Focus & Metrics

Academic Career Length

5Years (2022-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
5 June 2025 in Algorithms
Verified
Journal Article
Open access
PDF file
CBCostin-Anton Boiangiu
Costin-Anton Boiangiu
Giorgiana Violeta VlăsceanuGiorgiana Violeta Vlăsceanu
Giorgiana Violeta Vlăsceanu
ESEduard Staniloiu
Eduard Staniloiu
NTNicolae Tarbă
Nicolae Tarbă
MVMihai-Lucian Voncilă
Mihai-Lucian Voncilă
This paper introduces a new memory-efficient algorithm for connected-components labeling in binary images, which is based on run-length encoding. Unlike conventional pixel-based methods that scan and label individual pixels using global buffers or disjoint-set structures, our approach encodes rows as linked segments and merges them using a union-by-size strategy. We accelerate run detection by using a precomputed 16-bit cache of binary patterns, allowing for fast decoding without relying on bitwise CPU instructions. When compared against other run-length encoded algorithms, such as the Scan-Based Labeling Algorithm or Run-Based Two-Scan, our method achieves up to 35% faster on most real-world datasets. While other binary-optimized algorithms, such as Bit-Run Two-Scan and Bit-Merge Run Scan, are up to 45% faster than our algorithm, they require much higher memory usage. Compared to them, our method tends to reduce memory consumption on some large document datasets by up to 80%.

15 December 2022 in IEEE Access
Verified
Journal Article
Open access
ESEduard Staniloiu
Eduard Staniloiu
AMAlexandru Militaru
Alexandru Militaru
RNRazvan Nitu
Razvan Nitu
RDRazvan Deaconescu
Razvan Deaconescu
Since its creation, the Linux kernel has gained international recognition and has been employed on a large range of devices: servers, supercomputers, smart devices and embedded systems. Given its popularity, the security of the kernel has become a critical research topic. As a consequence, a wide range of third party tools were created to detect bugs in its implementation. However, new vulnerabilities are discovered and exploited every year. The explanation for this phenomenon lies in the fact that the programming language that is used for the kernel implementation, C, is designed to allow unsafe memory operations. In this paper, we show that it is possible to incrementally transition the kernel code from C to a memory safe programming language, D, by porting and integrating a device driver. In addition, we propose a series of code transformations that allow the D compiler to reason about the safety of certain memory operations. Our implementation increases the security guarantees of the kernel without incurring any performance penalties.