Skip to content

Commit 12dcc6d

Browse files
committed
typo
1 parent f87fb4e commit 12dcc6d

File tree

9 files changed

+61
-54
lines changed

9 files changed

+61
-54
lines changed

.idea/workspace.xml

Lines changed: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

AUTHORS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CodeGRITS is developed by a team of HCI and SE researchers at the University of Notre Dame and Vanderbilt University.
22

3-
Ningzhi Tang <ntang@nd.edu>
4-
Junwen An <jan2@nd.edu>
3+
Ningzhi Tang <ntang@nd.edu> (Equal Contribution)
4+
Junwen An <jan2@nd.edu> (Equal Contribution)
55
Meng Chen <mchen24@nd.edu>
66
Aakash Bansa <abansal1@nd.edu>
77
Yu Huang <yu.huang@vanderbilt.edu>

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ for future plugin developers and researchers to design context-aware programming
2020

2121
## Key Features
2222

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.
23+
- :mag: **IDE Tracking**: CodeGRITS tracks developers’ IDE interactions, including mouse clicks, keyboard inputs, etc.
24+
- :eye: **Eye Tracking**: CodeGRITS tracks developers’ eye gaze data
25+
from [Tobii eye-tracking devices](https://www.tobii.com/), and maps them to corresponding source code elements.
26+
- :computer: **Screen Recording**: CodeGRITS simultaneously records developers’ screen for visualizing their behaviors.
2727
- 🔨 **Research Toolkit**: CodeGRITS provides a set of extra features for empirical SE
2828
researchers, including dynamic configuration, activity labeling, real-time data API, etc.
2929
- 🗃️ **Data Export**: CodeGRITS exports data in XML format for further data analysis. See [Data Format](data.md)

docs/about.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,20 @@ HCI and SE researchers from [SaNDwich Lab](https://toby.li/) at the [University
1010
and [Vanderbilt University](https://www.vanderbilt.edu/).
1111
We are committed to keeping CodeGRITS open source and making it beneficial for the community.
1212

13-
The authors of CodeGRITS are: [Ningzhi Tang](https://nztang.com/), [Junwen An](https://wanteatfruit.github.io/),
13+
The authors of CodeGRITS are [Ningzhi Tang](https://nztang.com/) (equal contribution),
14+
[Junwen An](https://wanteatfruit.github.io/) (equal contribution),
1415
[Meng Chen](https://casardo-chen.github.io/), [Aakash Bansal](https://aakashba.github.io/),
1516
[Yu Huang](https://yuhuang-lab.github.io/), [Collin McMillan](https://sdf.org/~cmc/),
1617
and [Toby Jia-Jun Li](https://toby.li/). Technical support questions, bug reports, and feature requests are best started
17-
as an [GitHub Issue](https://github.com/codegrits/CodeGRITS/issues).
18+
as a [GitHub Issue](https://github.com/codegrits/CodeGRITS/issues).
1819

1920
We prepared a video demonstration of CodeGRITS for ICSE 2024.
2021

2122
[!embed](https://www.youtube.com/embed/d-YsJfW2NMI)
2223

2324
## Credits
2425

25-
CodeGRITS would not be possible without the following commercial and open source projects:
26+
CodeGRITS would not be possible without the following commercial and open-source projects:
2627

2728
- [IntelliJ Platform SDK](https://plugins.jetbrains.com/docs/intellij/welcome.html): CodeGRITS is built on top of the
2829
IntelliJ Platform.

docs/data.md

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ order: 80
3737
All the timestamps used by CodeGRITS are Unix time in milliseconds, starting from 1970-01-01 00:00:00 UTC.
3838

3939
The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coordinates-system.html#editor-coordinate-systems)
40-
(e.g., line, column) of IntelliJ Platform is start from 0.
40+
(e.g., line, column) of IntelliJ Platform starts from 0.
4141

4242
## IDE Tracking
4343

@@ -181,8 +181,8 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
181181
- `remark` could be `fileOpened`, `fileClosed`, `fileSelectionChanged`, `contentChanged | OldFile`, `contentChanged |
182182
NewFile`.
183183
- If the file is not a code file, i.e., the file extension is not in the ".java", ".cpp", ".c", ".py", ".rb", ".js",
184-
or ".md", `NotCodeFile | Fail` would be added to the remark. This is to prevent archiving data file with large size.
185-
- If there are IO errors when archiving the file, `IOException | Fail` would be added to the remark.
184+
or ".md", `NotCodeFile | Fail` would be added to the remark. This is to prevent archiving data files with large sizes.
185+
- If there are IO errors when archiving the file, `IOException | Fail` will be added to the remark.
186186

187187
---
188188
### Actions
@@ -237,7 +237,7 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
237237

238238
- CodeGRITS-related actions are also implemented as `AnAction` objects, and their `id` is prefixed with `CodeGRITS`,
239239
such as `CodeGRITS.StartStopTracking`, `CodeGRITS.PauseResumeTracking`, etc.
240-
- The "add label" action is also tracked here, with `id` as `"CodeGRITS.AddLabel.[LABEL_NAME]"`, where label name
240+
- The "add label" action is also tracked here, with `id` as `"CodeGRITS.AddLabel.[LABEL_NAME]"`, where the label name
241241
is pre-set in the configuration.
242242
- Other IntelliJ plugins may also implement their own `AnAction` objects, which will also be tracked here. For example,
243243
the `copilot.applyInlays` in the GitHub Copilot plugin.
@@ -323,7 +323,7 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
323323
**Comment**:
324324

325325
- The `<mouses>` element records the mouse-related actions including pressing, releasing, clicking, moving, and
326-
dragging. The data including the timestamp, the path of the file, the x-coordinate, and the y-coordinate.
326+
dragging. The data includes the timestamp, the path of the file, the x-coordinate, and the y-coordinate.
327327

328328
---
329329
#### Mouse
@@ -366,7 +366,7 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
366366
**Comment**:
367367

368368
- Caret is the cursor in the code editor. The `<carets>` element records the change of the caret position in the code
369-
editor. The data including the timestamp, the path of the file, the line number, and the column number.
369+
editor. The data includes the timestamp, the path of the file, the line number, and the column number.
370370

371371
---
372372
#### Caret
@@ -400,7 +400,7 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
400400

401401
**Comment**:
402402

403-
- The `<selections>` element records data when the user selects a piece of code in the code editor. The data including
403+
- The `<selections>` element records data when the user selects a piece of code in the code editor. The data includes
404404
the timestamp, the path of the file, the start position, the end position, and the selected text.
405405

406406
---
@@ -504,11 +504,11 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
504504

505505
**Comment**:
506506

507-
- The root element of the `eye_tracking.xml` file. CodeGRITS support both Mouse simulation and Tobii Pro eye tracker
507+
- The root element of the `eye_tracking.xml` file. CodeGRITS supports both Mouse simulation and Tobii Pro eye tracker
508508
devices.
509-
- Since [Tobii Pro SDK](https://developer.tobiipro.com/index.html) not support Java, we use Python
509+
- Since [Tobii Pro SDK](https://developer.tobiipro.com/index.html) does not support Java, we use the Python
510510
library `tobii-research` to collect eye tracking data and use Java ProcessBuilder to call the Python script to collect
511-
data. The python interpreter is specified in the configuration.
511+
data. The Python interpreter is specified in the configuration.
512512

513513
---
514514
### Setting
@@ -528,8 +528,8 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
528528

529529
**Comment**:
530530

531-
- `eye_tracker` could be `Mouse` for simulation, or real Tobii Pro eye tracker device name (e.g., `Tobii Pro Fusion`),
532-
which is got from `eyetracker.model` in the `tobii-research` library.
531+
- `eye_tracker` could be `Mouse` for simulation, or a real Tobii Pro eye tracker device name (e.g., `Tobii Pro Fusion`),
532+
which is obtained from `eyetracker.model` in the `tobii-research` library.
533533
- `sampling_rate` is the sampling rate of the eye tracker in Hz, which is pre-set in the configuration and whose range
534534
could be in `eyetracker.get_all_gaze_output_frequencies()` called in the `tobii-research` library.
535535

@@ -553,9 +553,9 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
553553

554554
- `<left_eye>`
555555
- `<right_eye>`
556-
- `<location>`: only used when the gaze point can be mapped to location in the code editor
557-
- `<ast_structure>`: only used when the gaze point cannot be mapped to location in the code editor, and the code file is
558-
java.
556+
- `<location>`: only used when the gaze point can be mapped to its location in the code editor
557+
- `<ast_structure>`: only used when the gaze point cannot be mapped to its location in the code editor, and the code
558+
file is java.
559559

560560
**Attribute**:
561561

@@ -585,8 +585,8 @@ The [editor coordinate system](https://plugins.jetbrains.com/docs/intellij/coord
585585

586586
**Comment**:
587587

588-
When the gaze point cannot be mapped to location in the code editor in the following 3 cases, the `remark` attribute is
589-
used:
588+
When the gaze point cannot be mapped to its location in the code editor in the following 3 cases, the `remark` attribute
589+
is used:
590590

591591
1. The raw gaze point from the eye tracker is invalid. (i.e., nan). In this case, the `remark`
592592
is `Fail | Invalid Gaze Point`.
@@ -619,9 +619,9 @@ used:
619619
- `gaze_point_x` and `gaze_point_y` are the location on the screen, ranging from 0 to 1, where (0, 0) is the top-left
620620
corner of the screen, and (1, 1) is the bottom-right corner of the screen.
621621
- `gaze_validity` and `pupil_validity` are the validity of the gaze point and pupil diameter, which is binary, 0 for
622-
invalid, 1 for valid. When using Mouse to simulate eye tracker, `gaze_validity` is always 1.0, and `pupil_validity` is
623-
always 0.0.
624-
- `pupil_diameter` is the diameter of the pupil in mm, when using Mouse to simulate eye tracker, `pupil_diameter` is
622+
invalid, 1 for valid. When using a mouse to simulate eye tracker, `gaze_validity` is always 1.0, and `pupil_validity`
623+
is always 0.0.
624+
- `pupil_diameter` is the diameter of the pupil in mm, when using a mouse to simulate eye tracker, `pupil_diameter` is
625625
always 0.
626626

627627
---
@@ -649,9 +649,9 @@ used:
649649
- `gaze_point_x` and `gaze_point_y` are the location on the screen, ranging from 0 to 1, where (0, 0) is the top-left
650650
corner of the screen, and (1, 1) is the bottom-right corner of the screen.
651651
- `gaze_validity` and `pupil_validity` are the validity of the gaze point and pupil diameter, which is binary, 0 for
652-
invalid, 1 for valid. When using Mouse to simulate eye tracker, `gaze_validity` is always 1.0, and `pupil_validity` is
653-
always 0.0.
654-
- `pupil_diameter` is the diameter of the pupil in mm, when using Mouse to simulate eye tracker, `pupil_diameter` is
652+
invalid, 1 for valid. When using a mouse to simulate eye tracker, `gaze_validity` is always 1.0, and `pupil_validity`
653+
is always 0.0.
654+
- `pupil_diameter` is the diameter of the pupil in mm, when using a mouse to simulate eye tracker, `pupil_diameter` is
655655
always 0.
656656

657657
---
@@ -676,9 +676,9 @@ used:
676676
**Comment**:
677677

678678
- `x` and `y` are the coordinates of the gaze relative to the top-left corner of the visible code editor, whose unit is
679-
same to the `screen_size`'s in `environment`, not the actual screen resolution.
679+
same as the `screen_size` in `environment`, not the actual screen resolution.
680680
- `line` and `column` are the line number and column number of the gaze point in the code editor, which is calculated
681-
by `xyToLogicalPosition(@NotNull Point p)` method of `Editor` interface in IntelliJ Platform.
681+
by `xyToLogicalPosition(@NotNull Point p)` method of `Editor` interface in the IntelliJ Platform SDK.
682682

683683
---
684684
##### AST Structure
@@ -691,7 +691,7 @@ used:
691691

692692
- token
693693
- type
694-
- remark: only used when the current token is same to the previous token
694+
- remark: only used when the current token is same as the previous token
695695

696696
**Example**:
697697

@@ -716,12 +716,13 @@ used:
716716
- The abstract syntax tree (AST) of the code file is recorded in the `<ast_structure>` element. The AST is calculated by
717717
[program structure interface (PSI)](https://plugins.jetbrains.com/docs/intellij/psi-elements.html) of IntelliJ
718718
Platform.
719-
- `token` is text of the leaf node in the AST of current gaze point, which is calculated by `psiElement.getText()`.
719+
- `token` is the text of the leaf node in the AST of the current gaze point, which is calculated by
720+
`psiElement.getText()`.
720721
- `type` is the type of the leaf node, which is calculated by `psiElement.getNode().getElementType()`.
721-
- `remark` is used when the current token is same to the previous token, which means the gaze point is still in the same
722+
- `remark` is used when the current token is same as the previous token, which means the gaze point is still in the same
722723
leaf node. In this case, the `remark` is `Same (Last Successful AST)`. We designed this mechanism to
723-
avoid `eye_tracking.xml` to be too large.
724-
- We calculate the parent nodes of the leaf node by `psiElement.getParent()` until the file-level (i.e. `PsiFile`), and
724+
avoid `eye_tracking.xml` from being too large.
725+
- We calculate the parent nodes of the leaf node by `psiElement.getParent()` until the file level (i.e. `PsiFile`), and
725726
save them in the `<level>` element. In the previous example, the leaf node is `PsiIdentifier:println`, and its parent
726727
nodes are `PsiReferenceExpression:System.out.println` => `PsiMethodCallExpression:System.out.println("Hello world!")`
727728
=> `PsiExpressionStatement` => `PsiCodeBlock` => `PsiMethod:main` => `PsiClass:Main`. The original code text is

docs/developer.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ tracker API.
3434

3535
### Overview
3636

37-
We provide a real-time data API for future JetBrains plugin developers and researchers to get the real-time data from
37+
We provide a real-time data API for future JetBrains plugin developers and researchers to get real-time data from
3838
IDE tracker and eye tracker separately. The API is based on the [IDE Tracker](#ide-tracker)
3939
and [Eye Tracker](#eye-tracker).
4040

@@ -55,7 +55,7 @@ intellij {
5555
### Quick Start
5656

5757
To use the API, simply call the `getInstance()` method to get the instance of the IDE Tracker or Eye Tracker. Then, set
58-
the `isRealTimeDataTransmitting` to `true` to enable the real-time data transmitting. After that, set
58+
the `isRealTimeDataTransmitting` to `true` to enable real-time data transmitting. After that, set
5959
the `ideTrackerDataHandler` or `eyeTrackerDataHandler` to handle the real-time data. Finally, call the `startTracking()`
6060
method to start tracking.
6161

@@ -70,7 +70,7 @@ ideTracker.startTracking(currentProject);
7070
```
7171

7272
!!!
73-
`Element` object is an XML element which is imported from `org.w3c.dom.Element` package.
73+
`Element` object is an XML element that is imported from `org.w3c.dom.Element` package.
7474
!!!
7575

7676
### IDE Tracker

docs/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ researchers. See [Trackers](usage.md#trackers) for more details.
1818
#### Q2. Can I use CodeGRITS without an eye-tracking device?
1919

2020
Yes. CodeGRITS provides mouse simulation as a substitute for eye gaze. You could also uncheck the `Eye Tracking` option
21-
in the configuration window to disable eye tracker to only use IDE tracker and screen recorder.
21+
in the configuration window to disable the eye tracker to only use the IDE tracker and screen recorder.
2222

2323
#### Q3. How to integrate other eye-tracking devices with CodeGRITS?
2424

0 commit comments

Comments
 (0)