helix-datasets / helix

A source code mutation/transformation framework
MIT License
11 stars 0 forks source link

Data Sharing Between Components #7

Open ainterr opened 3 years ago

ainterr commented 3 years ago

Currently, the only method of sharing data between Components in a single build is by writing data to the filesystem and configuring components to share that data. For supporting more realistic/viable binaries, it would be cool to be able to share access to data in memory between Components. Solutions for this are not immediately clear but it's worth researching.

ainterr commented 3 years ago

Comment from another user:

Introducing data sharing will necessarily introduce shared code between artifacts - instead of looking at this as a determent, we should look at this as a feature by implementing data sharing with a common interface that allows multiple, interchangeable implementations (much like Components). In fact, one way we could implement this is as a new primitive (e.g., Storages) or, better yet, as optional interfaces for Components to expose to one another. This way many types of data sharing could be implemented/interchanged as necessary for even better dataset generation.