Skip to content

Commit cd802a1

Browse files
committed
website & readme
1 parent d624fb9 commit cd802a1

25 files changed

Lines changed: 995 additions & 185 deletions

.idea/workspace.xml

Lines changed: 27 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023 SaNDwich Lab
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 59 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,68 @@
1-
# Getting Started
1+
# CodeGRITS
22

3-
## What is CodeGRITS?
3+
[[Website]](https://codegrits.github.io/CodeGRITS/) [[Paper]](https://arxiv.org/abs/xxxx.yyyyy) [[Demo Video]](https://www.youtube.com/watch?v=d-YsJfW2NMI)
44

5-
CodeGRITS stands for **G**aze **R**ecording & **I**DE **T**racking **S**ystem, which is a plugin specifically designed
6-
for empirical software engineering (SE) researchers. CodeGRITS is built on top of IntelliJ’s SDK, with wide
7-
compatibility with the entire family of JetBrains IDEs to track developers’ IDE interactions and eye gaze data.
5+
[CodeGRITS](https://codegrits.github.io/CodeGRITS/) stands for **G**aze **R**ecording & **I**DE **T**racking **S**ystem,
6+
which is a plugin specifically designed
7+
for software engineering (SE) researchers, which is developed by the [SaNDwich Lab](https://toby.li/) at the
8+
[University of Notre Dame](https://www.nd.edu/). CodeGRITS is built on top
9+
of [IntelliJ Platform SDK](https://plugins.jetbrains.com/docs/intellij/welcome.html), with wide compatibility with the
10+
entire family of [JetBrains IDEs](https://www.jetbrains.com/) and [Tobii eye-tracking devices](https://www.tobii.com/),
11+
to track developers’ IDE interactions and eye gaze data.
812

913
<p align="center">
1014
<img src="./docs/imgs/overview.png" width="600">
1115
</p>
1216

17+
The data collected by CodeGRITS can be used by empirical SE researchers to understand the behaviors of developers,
18+
especially those related to eye gaze. CodeGRITS also provides a [real-time data API](developer.md)
19+
for future plugin developers and researchers to design context-aware programming support tools.
20+
1321
## Key Features
1422

15-
- **Gaze and IDE Recording**: CodeGRITS tracks developers’ IDE interactions and eye gaze data for further understanding
16-
their behaviors.
17-
- **Screen Recording**: CodeGRITS simultaneously records developers’ screen for visualizing their behaviors.
18-
- **Research Toolkit**: CodeGRITS provides a set of extra features for empirical SE
19-
researchers, including dynamic configuration, activity labeling, etc.
20-
- **Data Export**: CodeGRITS exports data in XML format for further analysis.
21-
- **Real-time Data API**: CodeGRITS provides real-time data API for further
22-
development.
23-
- **Cross-platform**: CodeGRITS provides cross-platform support for Windows, macOS,
24-
and Linux, and is compatible with the entire family of JetBrains IDEs (e.g., IntelliJ IDEA, PyCharm, PhpStorm, etc.).
25-
- **Multilingual Support**: CodeGRITS could extract the abstract syntax tree (AST) structure of eye gazes on multiple
26-
programming languages, including Java, Python, C/C++, JavaScript, etc.
23+
- 🔍 **IDE Tracking**: CodeGRITS tracks developers’ IDE interactions, including mouse clicks, keyboard inputs, etc.
24+
- 👁️ **Eye Tracking**: CodeGRITS tracks developers’ eye gaze data
25+
from [Tobii eye-tracking devices](https://www.tobii.com/), and mapping them to corresponding source code elements.
26+
- 💻 **Screen Recording**: CodeGRITS simultaneously records developers’ screen for visualizing their behaviors.
27+
- 🔨 **Research Toolkit**: CodeGRITS provides a set of extra features for empirical SE
28+
researchers, including dynamic configuration, activity labeling, real-time data API, etc.
29+
- 🗃️ **Data Export**: CodeGRITS exports data in XML format for further data analysis. See [Data Format](data.md)
30+
for more details.
31+
32+
### Cross-platform and Multilingual Support
33+
34+
- [x] CodeGRITS provides cross-platform support for Windows, macOS,
35+
and Linux, and is expected to be compatible with the entire family of JetBrains IDEs, including IntelliJ IDEA,
36+
PyCharm, WebStorm, etc.
37+
- [x] CodeGRITS could extract the abstract syntax tree (AST) structure of eye gazes on multiple
38+
programming languages, as long as the IDE supports them, including Java, Python, C/C++, JavaScript, etc.
39+
40+
## Usage Guide
41+
42+
Please see the [CodeGRITS website](https://codegrits.github.io/CodeGRITS/) for more details.
43+
44+
## Citation
45+
46+
[//]: # (TODO: Update the citation and PDF link after the paper is published.)
47+
48+
The paper of CodeGRITS has been accepted
49+
by [ICSE 2024 Demonstrations Track](https://conf.researchr.org/track/icse-2024/icse-2024-demonstrations).
50+
The PDF version is available [here](https://arxiv.org/abs/xxxx.yyyyy).
51+
The [video demonstration](https://www.youtube.com/watch?v=d-YsJfW2NMI) is available on YouTube.
52+
53+
Please cite the following if you use CodeGRITS in your research.
54+
55+
```bibtex
56+
@inproceedings{tang2024codegrits,
57+
title={CodeGRITS: A Research Toolkit for Developer Behavior and Eye Tracking in IDE},
58+
author={Tang, Ningzhi and An, Junwen and Chen, Meng and Bansal, Aakash and Huang, Yu and McMillan, Collin and Li, Toby Jia-Jun},
59+
booktitle={46th International Conference on Software Engineering Companion (ICSE-Companion '24)},
60+
year={2024},
61+
organization={ACM}
62+
}
63+
```
64+
65+
## Contact us
66+
67+
Please feel free to contact Ningzhi Tang at [email protected] or Junwen An at [email protected]
68+
if you have any questions or suggestions.

build.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ dependencies {
2525
intellij {
2626
version.set("2023.1.4")
2727

28-
type.set("IC") // IntelliJ Community Edition
28+
// type.set("IC") // IntelliJ Community Edition
2929
// type.set("IU") // IntelliJ Ultimate Edition
30-
plugins.set(listOf("com.intellij.java"))
30+
// plugins.set(listOf("com.intellij.java"))
3131

32-
// type.set("PC") // PyCharm Community Edition
32+
type.set("PC") // PyCharm Community Edition
3333
// type.set("PY") // PyCharm Professional Edition
34-
// plugins.set(listOf("PythonCore"))
34+
plugins.set(listOf("PythonCore"))
3535

3636
// type.set("CL") // CLion
3737

docs/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023 SaNDwich Lab
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

docs/about.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
layout: page
3+
---
4+
5+
# About
6+
7+
[CodeGRITS](https://codegrits.github.io/CodeGRITS/) is professionally built and supported by a small dedicated team of
8+
HCI/SE researchers from [SaNDwich Lab](https://toby.li/) at the [University of Notre Dame](https://www.nd.edu/). We are
9+
committed to keeping CodeGRITS open source and making it beneficial for the community.
10+
11+
Technical support questions, bug reports, and feature requests are best started as
12+
an [GitHub Issue](https://github.com/codegrits/CodeGRITS/issues).
13+
14+
## Credits
15+
16+
CodeGRITS would not be possible without the following commercial and open source projects:
17+
18+
- [IntelliJ Platform SDK](https://plugins.jetbrains.com/docs/intellij/welcome.html): CodeGRITS is built on top of the
19+
IntelliJ Platform.
20+
- [Tobii Pro SDK](https://www.tobii.com/products/software/applications-and-developer-kits/tobii-pro-sdk/): CodeGRITS
21+
uses the Tobii Pro SDK to collect eye gaze data from Tobii eye-tracking devices.
22+
- [ReType](https://retype.com/): CodeGRITS documentation is built with Retype.
23+
- [JavaCV](http://bytedeco.org/): CodeGRITS uses JavaCV to implement the screen recorder.
24+
25+
Special thanks to the [iTrace](https://www.i-trace.org/) team. iTrace is a similar tool to CodeGRITS for collecting
26+
developers' eye gaze data in several IDEs, including Eclipse, Visual Studio, and Atom. We have learned a lot from their
27+
work and referred to part of their code. Different from iTrace, CodeGRITS is built for JetBrains IDEs and provides a
28+
set of extra functionalities (e.g., IDE tracking, screen recording, etc.) for empirical SE researchers.
29+
30+
## License
31+
32+
Please see the CodeGRITS [LICENSE](LICENSE).
33+
34+
## Contact us
35+
36+
Please feel free to contact us anytime if you have any questions or suggestions.
37+
38+
- Email the developers [Ningzhi Tang](https://nztang.com/) at [email protected]
39+
or [Junwen An](https://wanteatfruit.github.io/) at [email protected].
40+
- Start a [GitHub Issue](https://github.com/codegrits/CodeGRITS/issues).

docs/api-reference.md

Lines changed: 0 additions & 53 deletions
This file was deleted.

docs/changelog.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
icon: log
3+
order: 60
4+
---
5+
6+
# Changelog
7+
8+
!!!
9+
Encountered a bug or have a suggestion? Please create a [GitHub Issue](https://github.com/codegrits/CodeGRITS/issues).
10+
!!!
11+
12+
## v0.2.0 [!badge text="LATEST" variant="info"]
13+
14+
Released on 2023-12-28.
15+
16+
+++ New :icon-shield-check:
17+
18+
- [x] Improve the implementation of Screen Recorder from [JCodec](http://jcodec.org/index.html)
19+
to [JavaCV](http://bytedeco.org/).
20+
- [x] Initial pre-mature release for CodeGRITS.
21+
+++
22+
23+
+++ Improved :icon-thumbsup:
24+
- [x] Fix the color distortion and the missing cursor issues of the screen recorder.
25+
- [x] Fix several issues about the naming.
26+
- [x] Add the logo of CodeGRITS.
27+
+++
28+
29+
---
30+
31+
## v0.1.0
32+
33+
Released on 2023-11-30.
34+
35+
+++ New :icon-shield-check:
36+
37+
- [x] Release for ICSE 2024 Demo review.
38+
+++
39+
40+
---
41+

docs/citation.md

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)