HexHive / retrowrite-dev

Retrowrite Development (Internal) Repository
7 stars 2 forks source link

Navigating directory tree looks like a misc challenge #7

Closed cyanpencil closed 2 years ago

cyanpencil commented 3 years ago

So as you may have notices half of the directories are useless, and the other half have the wrong name. So I am listing the changes I propose, and please tell me what you think / if something is missing.

debug -> moved to benchs/debug. Only used by the current tests directory, so maybe should go inside the evaluation folder with it? cftool -> this needs discussion. it is the reimplementation of the free register analysis in Go by Matteo Rizzo. I don't know go at all so I re-used Sushant implementation in python and ported it to arm. It may be a directory on it's own, but needs a better name imho. Suggestions? testbins -> somewhere inside our (new) tests folder demos -> this can stay imho evaluation -> this has some (partially incomplete) scripts by Sushant used to list how many CVEs were spotted and other things. I don't know anything about them, but could be useful in the future. I would stick this folder inside the benchs directory. fuzzing -> this could stay, imho. The docker inside here is an absolute mess, but we'll think about this in a later date tests -> surprisingly, those are not tests? I'm quite positive they are needed by evaluation, they are other scripts to test spotted CVEs. So I would stick this inside evaluation rwtools -> holds the various instrumentation passes that can be used with retrowrite. Probably the best place to put it is inside src. third-party -> delete this librw -> wrong name. I propose to rename it to src arm -> hopefully should be refactored and merged into src in the not-so-distant future retrowrite_ci -> this is made by me, there are CI scripts to run benchmarks on the raspberry and automatically produce plots from them that are then sent to you via a telegram bot. This might be useful in the future, but probably I would simply rename it to CI and put it inside benchs/CI or something like that. pytest.ini -> this is already being deleted in #6 directory_overhaul.md -> delete this

This is just a rough idea but should make things cleaner and simpler for new people coming to the project. Let me know what do you think.

louismerlin commented 3 years ago

Very nice proposition !

One question about rwtools (you did not finish your thoughts on it btw) : could this be placed in a subdirectory of src ? It might make more sense there.

cyanpencil commented 3 years ago

could this be placed in a subdirectory of src

yes, agreed. I'm updating the issue text.

diagprov commented 2 years ago

Still an issue but for public repo now :)