RCE Endeavors 😅

May 18, 2021

Creating a multi-language compiler system: Conclusion (10/11)

Filed under: Programming — admin @ 10:30 PM

This concludes the series on creating a multi-language compiler system. Just from the length and number of posts, it is clear that a lot goes into creating something like this. Through this series of posts, a full, feature-rich, end-to-end pipeline was developed that can do the following:

  • Take in an arbitrary input file for a supported language
  • Compile (if needed) and execute the source code
  • Provide console arguments to the executable
  • Provide interactive input to the executable at runtime
  • Run in multi-threaded mode and support multiple compilations and executions at the same time
  • Provide a degree of security through isolation of compilation and low-privilege execution in a containerized environment
  • Provide time limits on how long a compilation and execution process can take
  • Allow for scaling the number of system pods by language
  • Isolate language-specific environment setup so that new languages can be added easily

Overall, not too bad for a project that took a couple of weekends. But as always, there are things that are missing or that could be improved. I hope that anyone who took the time to go through these posts has learned something from them and gets a better understanding of how these multi-language compiler systems work.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

 

Powered by WordPress