Research Questions - oils-for-unix/oils GitHub Wiki
Based on regtest/aports
, which is a big shell workload:
- Is there another
xz
backdoor lurking in the workload ?- Can we add always-on runtime instrumentation to detect this? with O(1) memory with respect to program runtime ?
- Theme: supply chain security
- Shell is slow, so can we use the "spaces" to run telemetry / always-on profiling?
- how often is shell invoked in the Alpine Linux build? At Alpine Boot time?
- Debian build / systemd boot ?
- which shell features are used?
- Theme: language runtime implementation
- OSH is as fast as bash, despite being written in typed Python (with GC) !
- This is because bash is a suboptimal program!
- Can OSH be as fast as awk / Python?
- By another translation of the executable spec? (e.g. with tagged pointers)
- Or with hints? Or by enhancing the metalanguage?
- How to visualize shell traces?
- Can the Alpine Linux build with
abuild
be parallelized and distributed?- something like Bazel or Nix?
- Theme: parallel and distributed computing
- Can OSH be transformed to YSH?
- there is no automatic design
- Theme: program transformation
- Can we fix bugs in OSH with LLMs?
- point LLM at busybox ash / bash source code, and ask it to implement OSH?
- document OSH?
- can we use the ~11,000-commit history of the Oils repo to improve results?
- problem: changes are often bottlenecked on review
- case study:
trap
builtin
- case study:
- problem: is there an objective metric for "generating ugly code" that's not maintainable by humans?
- I guess that's why we use the commit history
trap
builtin is another good example
Themes
- Supply Chain Security
- Foundation for a distributed OS
- parallel and distributed computing
- program transformation / maintenance
- Generating source code changes