Proto-ML Logo

Proto-ML

An IDE to support prototyping of machine learning solutions

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

Proto-ML 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 ✅

Further publications