-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d624fb9
commit cd802a1
Showing
25 changed files
with
995 additions
and
185 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2023 SaNDwich Lab | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,68 @@ | ||
# Getting Started | ||
# CodeGRITS | ||
|
||
## What is CodeGRITS? | ||
[[Website]](https://codegrits.github.io/CodeGRITS/) [[Paper]](https://arxiv.org/abs/xxxx.yyyyy) [[Demo Video]](https://www.youtube.com/watch?v=d-YsJfW2NMI) | ||
|
||
CodeGRITS stands for **G**aze **R**ecording & **I**DE **T**racking **S**ystem, which is a plugin specifically designed | ||
for empirical software engineering (SE) researchers. CodeGRITS is built on top of IntelliJ’s SDK, with wide | ||
compatibility with the entire family of JetBrains IDEs to track developers’ IDE interactions and eye gaze data. | ||
[CodeGRITS](https://codegrits.github.io/CodeGRITS/) stands for **G**aze **R**ecording & **I**DE **T**racking **S**ystem, | ||
which is a plugin specifically designed | ||
for software engineering (SE) researchers, which is developed by the [SaNDwich Lab](https://toby.li/) at the | ||
[University of Notre Dame](https://www.nd.edu/). CodeGRITS is built on top | ||
of [IntelliJ Platform SDK](https://plugins.jetbrains.com/docs/intellij/welcome.html), with wide compatibility with the | ||
entire family of [JetBrains IDEs](https://www.jetbrains.com/) and [Tobii eye-tracking devices](https://www.tobii.com/), | ||
to track developers’ IDE interactions and eye gaze data. | ||
|
||
<p align="center"> | ||
<img src="./docs/imgs/overview.png" width="600"> | ||
</p> | ||
|
||
The data collected by CodeGRITS can be used by empirical SE researchers to understand the behaviors of developers, | ||
especially those related to eye gaze. CodeGRITS also provides a [real-time data API](developer.md) | ||
for future plugin developers and researchers to design context-aware programming support tools. | ||
|
||
## Key Features | ||
|
||
- **Gaze and IDE Recording**: CodeGRITS tracks developers’ IDE interactions and eye gaze data for further understanding | ||
their behaviors. | ||
- **Screen Recording**: CodeGRITS simultaneously records developers’ screen for visualizing their behaviors. | ||
- **Research Toolkit**: CodeGRITS provides a set of extra features for empirical SE | ||
researchers, including dynamic configuration, activity labeling, etc. | ||
- **Data Export**: CodeGRITS exports data in XML format for further analysis. | ||
- **Real-time Data API**: CodeGRITS provides real-time data API for further | ||
development. | ||
- **Cross-platform**: CodeGRITS provides cross-platform support for Windows, macOS, | ||
and Linux, and is compatible with the entire family of JetBrains IDEs (e.g., IntelliJ IDEA, PyCharm, PhpStorm, etc.). | ||
- **Multilingual Support**: CodeGRITS could extract the abstract syntax tree (AST) structure of eye gazes on multiple | ||
programming languages, including Java, Python, C/C++, JavaScript, etc. | ||
- 🔍 **IDE Tracking**: CodeGRITS tracks developers’ IDE interactions, including mouse clicks, keyboard inputs, etc. | ||
- 👁️ **Eye Tracking**: CodeGRITS tracks developers’ eye gaze data | ||
from [Tobii eye-tracking devices](https://www.tobii.com/), and mapping them to corresponding source code elements. | ||
- 💻 **Screen Recording**: CodeGRITS simultaneously records developers’ screen for visualizing their behaviors. | ||
- 🔨 **Research Toolkit**: CodeGRITS provides a set of extra features for empirical SE | ||
researchers, including dynamic configuration, activity labeling, real-time data API, etc. | ||
- 🗃️ **Data Export**: CodeGRITS exports data in XML format for further data analysis. See [Data Format](data.md) | ||
for more details. | ||
|
||
### Cross-platform and Multilingual Support | ||
|
||
- [x] CodeGRITS provides cross-platform support for Windows, macOS, | ||
and Linux, and is expected to be compatible with the entire family of JetBrains IDEs, including IntelliJ IDEA, | ||
PyCharm, WebStorm, etc. | ||
- [x] CodeGRITS could extract the abstract syntax tree (AST) structure of eye gazes on multiple | ||
programming languages, as long as the IDE supports them, including Java, Python, C/C++, JavaScript, etc. | ||
|
||
## Usage Guide | ||
|
||
Please see the [CodeGRITS website](https://codegrits.github.io/CodeGRITS/) for more details. | ||
|
||
## Citation | ||
|
||
[//]: # (TODO: Update the citation and PDF link after the paper is published.) | ||
|
||
The paper of CodeGRITS has been accepted | ||
by [ICSE 2024 Demonstrations Track](https://conf.researchr.org/track/icse-2024/icse-2024-demonstrations). | ||
The PDF version is available [here](https://arxiv.org/abs/xxxx.yyyyy). | ||
The [video demonstration](https://www.youtube.com/watch?v=d-YsJfW2NMI) is available on YouTube. | ||
|
||
Please cite the following if you use CodeGRITS in your research. | ||
|
||
```bibtex | ||
@inproceedings{tang2024codegrits, | ||
title={CodeGRITS: A Research Toolkit for Developer Behavior and Eye Tracking in IDE}, | ||
author={Tang, Ningzhi and An, Junwen and Chen, Meng and Bansal, Aakash and Huang, Yu and McMillan, Collin and Li, Toby Jia-Jun}, | ||
booktitle={46th International Conference on Software Engineering Companion (ICSE-Companion '24)}, | ||
year={2024}, | ||
organization={ACM} | ||
} | ||
``` | ||
|
||
## Contact us | ||
|
||
Please feel free to contact Ningzhi Tang at [email protected] or Junwen An at [email protected] | ||
if you have any questions or suggestions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2023 SaNDwich Lab | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
--- | ||
layout: page | ||
--- | ||
|
||
# About | ||
|
||
[CodeGRITS](https://codegrits.github.io/CodeGRITS/) is professionally built and supported by a small dedicated team of | ||
HCI/SE researchers from [SaNDwich Lab](https://toby.li/) at the [University of Notre Dame](https://www.nd.edu/). We are | ||
committed to keeping CodeGRITS open source and making it beneficial for the community. | ||
|
||
Technical support questions, bug reports, and feature requests are best started as | ||
an [GitHub Issue](https://github.com/codegrits/CodeGRITS/issues). | ||
|
||
## Credits | ||
|
||
CodeGRITS would not be possible without the following commercial and open source projects: | ||
|
||
- [IntelliJ Platform SDK](https://plugins.jetbrains.com/docs/intellij/welcome.html): CodeGRITS is built on top of the | ||
IntelliJ Platform. | ||
- [Tobii Pro SDK](https://www.tobii.com/products/software/applications-and-developer-kits/tobii-pro-sdk/): CodeGRITS | ||
uses the Tobii Pro SDK to collect eye gaze data from Tobii eye-tracking devices. | ||
- [ReType](https://retype.com/): CodeGRITS documentation is built with Retype. | ||
- [JavaCV](http://bytedeco.org/): CodeGRITS uses JavaCV to implement the screen recorder. | ||
|
||
Special thanks to the [iTrace](https://www.i-trace.org/) team. iTrace is a similar tool to CodeGRITS for collecting | ||
developers' eye gaze data in several IDEs, including Eclipse, Visual Studio, and Atom. We have learned a lot from their | ||
work and referred to part of their code. Different from iTrace, CodeGRITS is built for JetBrains IDEs and provides a | ||
set of extra functionalities (e.g., IDE tracking, screen recording, etc.) for empirical SE researchers. | ||
|
||
## License | ||
|
||
Please see the CodeGRITS [LICENSE](LICENSE). | ||
|
||
## Contact us | ||
|
||
Please feel free to contact us anytime if you have any questions or suggestions. | ||
|
||
- Email the developers [Ningzhi Tang](https://nztang.com/) at [email protected] | ||
or [Junwen An](https://wanteatfruit.github.io/) at [email protected]. | ||
- Start a [GitHub Issue](https://github.com/codegrits/CodeGRITS/issues). |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
--- | ||
icon: log | ||
order: 60 | ||
--- | ||
|
||
# Changelog | ||
|
||
!!! | ||
Encountered a bug or have a suggestion? Please create a [GitHub Issue](https://github.com/codegrits/CodeGRITS/issues). | ||
!!! | ||
|
||
## v0.2.0 [!badge text="LATEST" variant="info"] | ||
|
||
Released on 2023-12-28. | ||
|
||
+++ New :icon-shield-check: | ||
|
||
- [x] Improve the implementation of Screen Recorder from [JCodec](http://jcodec.org/index.html) | ||
to [JavaCV](http://bytedeco.org/). | ||
- [x] Initial pre-mature release for CodeGRITS. | ||
+++ | ||
|
||
+++ Improved :icon-thumbsup: | ||
- [x] Fix the color distortion and the missing cursor issues of the screen recorder. | ||
- [x] Fix several issues about the naming. | ||
- [x] Add the logo of CodeGRITS. | ||
+++ | ||
|
||
--- | ||
|
||
## v0.1.0 | ||
|
||
Released on 2023-11-30. | ||
|
||
+++ New :icon-shield-check: | ||
|
||
- [x] Release for ICSE 2024 Demo review. | ||
+++ | ||
|
||
--- | ||
|
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.