Search papers, labs, and topics across Lattice.
To resolve provenance tracking in industrial automation, this work develops PLC-Bin2Src to retrieve original Structured Text source files directly from compiled, opaque PLC binary artifacts. Matching is challenged by compiler heterogeneity across diverse platforms, profound representation gaps, and unit granularity mismatches between compiled binaries and source code. Across four commercial and open-source PLC ecosystems, the framework achieves a 95.89% Recall@1 and an MRR of 0.9769 by unifying control-data flow graphs, function call graphs, and recovered-symbol similarity metrics.
Opaque industrial control binaries can now be traced back to their raw Structured Text source code with 95.89% top-1 accuracy across major PLC toolchains, breaking down a persistent barrier in industrial software auditing.
Software reuse allows existing components and third-party libraries to be incorporated into new applications, but binary-only components can obscure their origins and implementations. Software composition analysis seeks to identify these reused components and trace their provenance, supporting dependency inventory, vulnerability assessment, and security auditing. For PLC applications, binary2source matching provides a core link in this analysis: given an opaque PLC binary artifact, retrieve its corresponding Structured Text (ST) source file from a collected source repository. However, this task is complicated by cross-platform compilation heterogeneity, the representation gap between PLC binaries and ST source code, and the granularity mismatch between recovered binary units and ST source files. This paper presents PLC-Bin2Src, a cross-platform binary2source matching framework for retrieving corresponding ST source files for binaries produced by CODESYS, GEB, OpenPLC v2, and OpenPLC v3. Platform-aware frontends construct comparable representations, and a shared backend equally combines control--data flow graph (CDFG), function call graph (FCG), and recovered-symbol similarities to rank source candidates. We evaluate PLC-Bin2Src on PLC-BEAD. Results show that PLC-Bin2Src achieves 95.89% Recall@1, 99.66% Recall@5, and an MRR of 0.9769 across four PLC platforms.