Project Plan- Runtime-checked automated programming for chaincode development
Short description
Automated programming for other blockchain platforms is an already emerging topic, but Fabric has not been really addressed yet. This is an experimental mentorship with equal weight in research and hands-on coding, with the following goals.
- To review existing examples and approaches of automated programming for smart contracts of other platforms (i.e., Solidity).
- To explore the technically feasible options of automated chaincode programming for Hyperledger Fabric (incl. ChatGPT) and select one for further work.
- To formulate a chaincode specification style which “seems to work well enough” on a set of representative examples with automated programming.
(We don’t know yet what will work; One-shot or iterative? Requirement set or Behavior-Driven Development (BDD)? Conversational or formal specification? And so on.) - To create support for translating the specification partially or fully to runtime verification code, which can wrap the chaincode implementation.
Participants
Mentors:
- Bertalan Zoltán Péter , PhD Student @ BME Critical Systems Research Group, ftsrg (Discord:
bp99
#0622
) - Imre Kocsis , Associate Professor @ BME Critical Systems Research Group, ftsrg
Mentee: Tanuj Surve. (Discord: tanuj5173
)
Timeline
Week # | Date | Activity | Status |
---|---|---|---|
1 - 3 | June 5 - June 23 | Onboarding, getting to know the project goals, and designing a project plan. | |
4 – 7 | June 26 – July 28 | Research phase: collection of research papers, review & analysis of existing approaches and tools | |
8 – 11 | July 31 - August 25 | Technical feasibility analysis: test and evaluate different methods (→ report) | |
12 – 14 | August 28 – September 15 | Selection of suitable automated programming approach and formulation of best specification style | |
15 – 20 | September 18 – October 27 | Implementation & Testing phase (experimentation with selected specification technique) | |
21 – 24 | October 30 – November 17 | Documentation & Evaluation phase |