Proto-ML provides tools for the analysis, implementation, and knowledge management of ML prototypes. Most tools have been implemented as JupyterLab proof-of-concept extensions and evaluated in initial studies. Some extensions are still under construction or in design.
IDE Overview
📊 Bundle: Analysis
Tools that help stakeholders understand the solution strategy implemented in an ML prototype.
Explainer
Provides a high-level overview of the activity flow, data flow, and basic explanations. Visualizes the notebook as a semantic activity-flow graph, using LLM-generated activity labels and descriptions.
Status: Implemented ✅
Card Generator
Creates ML prototype cards inspired by model cards, documenting essential information for technical and non-technical stakeholders. Automatically extracts relevant information, tailored to stakeholders.
Status: Implemented ✅
🧰 Bundle: Implementation
Tools that support developers in building high-quality ML prototypes and automatically documenting the prototyping process.
Reviewer
Performs automated, stakeholder-oriented quality checks based on a quality model, a checklist, and stakeholder personas. Ensures consistency and quality of ML prototype notebooks.
Status: Implemented ✅
Selin Coban, Miguel Perez, Cagatay Akpinar, Baran Tanriverdi, Horst Lichter (2026). An LLM-based Approach for Automatic ML Prototype Review (to be published). In 2026 IEEE International Conference on Software Analysis, Evolution and Reengineering - Companion (SANER-C), Limassol, Cyprus, March.
Recorder
Automatically records semantically meaningful steps during prototyping. Supports time travel and branching through an experiment tree model, enabling exploration of alternative solution paths.
Status: Implemented ✅
Laurens Studtmann, Selin Aydin, Horst Lichter (2023). Histree: A Tree-Based Experiment History Tracking Tool for Jupyter Notebooks. In 30th Asia-Pacific Software Engineering Conference (APSEC 2023), Seoul, South Korea, Dec 4-7, IEEE Computer Society, 299-308.
🧠Bundle: Knowledge Management
Tools to support searching, exploring, reusing, and retaining knowledge generated during ML solution prototyping.
Explorer
Visualizes the evolution of an ML prototype as a tree, based on Recorder data. Enables stakeholders to navigate, inspect, and branch previous versions of a prototype.
Status: Implemented ✅
Laurens Studtmann, Selin Aydin, Horst Lichter (2023). Histree: A Tree-Based Experiment History Tracking Tool for Jupyter Notebooks. In 30th Asia-Pacific Software Engineering Conference (APSEC 2023), Seoul, South Korea, Dec 4-7, IEEE Computer Society, 299-308.
Recommender
Suggests relevant notebooks or code cells based on similarity. Uses a vector database and content-based retrieval to support code reuse during development.
Status: Implemented ✅
Selin Aydin, Dennis Mertens, Ouyu Xu (2024). An Automated Evaluation Approach for Jupyter Notebook Code Cell Recommender Systems. In 12th Workshop on Quantitative Approaches to Software Quality (QuASoQ 2024): co-located with APSEC 2024, Chongqing, China, Dec 3, CEUR-WS.org, CEUR Workshop Proceedings, Vol. 3864, 4-11.
Knowledge Manager
Allows developers to store, retain, and evaluate knowledge sources related to ML solution prototyping. Provides automated assessments of source quality (e.g., reputation, benchmark usage, availability).
Status: Implemented ✅