Demo |
Get Involved |
Hot Topics |
Further Readings
Project "Binocular" is a platform for viewing and interacting with time-based visualizations of combined data from the version control (VCS), issue tracking (ITS), and continuous integration (CI) systems.
This project aims to provide an entry point for exploratory analysis, to assist in increasing overall development productivity, and to help to understand correlations in software engineering data.
The focus of this project is to provide a tool to (new) team members to get to know the code base in more, greater detail, to make the development process in general more transparent to all involved members.
Project "Binocular" is based on the principles and processes of the Mining Software Repositories (MSR) research area.
MSR is a research area that focuses on extracting valuable information and knowledge from the vast amount of data stored in software repositories.
Key aspects of Project “Binocular” include:
- Data Collection and Extraction: Collect data from various sources. Our focus was on VCSs, ITSs and CI systems
- Analysis Techniques: Applying various analysis techniques to extract meaningful insights from the collected data. This includes identifying code changes, analyzing developer collaboration, and understanding software evolution.
- Software Analytics: Using visualizations and dashboards to represent complex software development data in a comprehensible and actionable manner
Links
Screenshots & Images
Video Overview
Large Gallery of Visualizations
Get Involved
Requirements
It is possible to accomplish
- a bachelor thesis,
- a master thesis,
- internships,
- an ASE PR project
in the context of this project.
If you are interested in this project and the following topics please contact:
ta.ca.neinullwut.osninull@nullrenbarg.nnnullahoj
Contributors
- Johann Grabner, Project lead and Supervisor
- Roman Decker, Master’s thesis, Initial Development
- Maximilian Zenz, Part-time Developer
- Sebastian Watzinger, Part-time Developer
Hot Topics
Hint: Order is not relevant, list is not exhaustive
- Polyglot data mining: Exploring the MSR process using various languages and tools
- Possible interest in, e.g.: Rust, Go, Java, Kotlin, C, C++, Python, … (see libgit2)
- Possibly combined with, e.g.: WebAssembly, Docker, k8s, Microservice Architectures, Distributed Task Processing, …
- SQL + MSR (Mining Software Repositories), see
- Development of a Domain Specific Language (DSL)
- Code Semantic Analysis
- Commit Dependency Graph Analysis (see git-deps)
- Leveraging GPU capabilities in MSR
- Using the GPGPU for Scaling Up Mining Software Repositories, External Link
- Accelerating data mining with CUDA and OpenMP, External Link
- Native, multiplatform Application Development (e.g. Electron, Tauri, pyqt, …)
Further Readings
As an inspiration for new visualization ideas, we suggest the following sites:
Additionally, the following article might be helpful in brainstorming own ideas:
- Hamel Husain (Apr 10, 2019): How to Automate Tasks on GitHub With Machine Learning for Fun and Profit, External Link
- Aigner et. al. (2023): Visualization of Time-Oriented Data, External Link