Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
versions View all 4 versions
addClaim

VM with ready-to-run setup of deb'm

Authors: Bos, Jaap van den; Klaasse, Reijer; Gelder, van, Kesava; Naus, Nico;

VM with ready-to-run setup of deb'm

Abstract

### Summary This artifact is the implementation of deb'm as described in the paper, contained in a Linux VM. It is used to generate all results. It is created by Jaap van den Bos, Reijer Klaasse and Kesava van Gelder. ### Structure and content The artifact contains 3 directories: 1) One with the code and executables of deb'm, directly cloned from Github and built with Gradle 2) One containing the examined decompilers that are open-source: RetDec and Ghidra 3) One containing already produced containers, since producing all binaries might take some time. The decompilation by RetDec is also done on containers 000 - 003 4) Scripts to - Quickly produce an extra container - Decompile a container (for example 004) - Assess a container to get the scores - See the CLI help for the producer and assessor ### Hardware Requirements RAM: >= 12GB (because the retdec decompiler uses op to 3GB per process, and 4 instances run in parallel) CPU cores: 4 CPU frequency: >= 1.1 GHz ### Proprietary Software or Data Requirements No other software or data is needed, neither is a network connection ### Setup No additional setup is required, because deb'm, JDK, compilers, decompilers are already installed on the VM ### Test Instructions 1. Boot up the VM 2. Open the terminal 3. Type: cd debm 4. To test the producer part, type: ./producer-container.sh (Estimated time: 90 seconds) This will produce a full container in the (ad-hoc created) produced_containers directory. Please note that this VM can only produce x64 binaries. For testing purposes, the x86 are present as well in the pre-produced 'containers' directory. 5. To test the decompilation part, type ./decompile-retdec.sh 4 This will invoke the RetDec decompiler for all non-decompiled 300 binaries in the container_004 directory. Estimated time: 90 minutes 6. To test the assessment part, type ./assess-retdec.sh 0 This will run the deb'm assessor for the decompilation result in container_000, and produce a report.html file Estimated time: 30m Total estimated time: 2 hours ### Replication Instructions The generated report.html contains all scores used in the paper. These are sometimes aggregated over architecture or optimization level. To get this aggregation, assess-(retdec/ghidra).sh can be modified with an extra -ao=a or -ao=o argument. This -ao argument is documented in the assessor help of deb'm Results from Ghidra can not all be replicated, because, as mentioned in the paper, Ghidra fails to decompile most switches. Hex-Rays results can not be replicated either, because Ida Pro is licensed. ### Replication with Limited Resources To limit the amount of resources, there is a decompile-retdec-singlethreaded.sh This will fit for systems with <= 4GB RAM. Since this will take much longer to decompile, container_000 can be replaced with container_000_pruned to only have 15 test folders instead of 75. Ghidra results cannot be replicated in an environment with limited resources. ### Examples of Usage

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average