ACAV is an automated Python framework designed to conduct causality analysis for AV accident recordings.
Our paper, "ACAV: A Framework for Automatic Causality Analysis in Autonomous Vehicle Accident Recordings" will be published at ICSE 2024 in April.
Please visit ACAV website for more information and demonstration.
- python3
- protobuf 3.19.4
- cyber_record
- record_msg
- shapely
Install protobuf 3.19.4
for ACAV, by the following command:
pip3 install protobuf==3.19.4
Install cyber_record
, a cyber record file offline parse tool, by the following command:
pip3 install cyber_record
To avoid introducing too many dependencies, save messages by record_msg
.
pip3 install record_msg -U
Install shapely
for ACAV, by the following command:
pip3 install shapely
Run ACAV by the following command:
cd /root_of_ACAV_SourceCode
python3 main.py -i <the directory of the original recording file>
For example:
cd /root_of_ACAV_SourceCode
python3 main.py -i record/T-2.record
Currently, only the parameter file for Lincoln 2017 MKZ are included in ACAV.
For a parameter file of a new vehicle, please add it to /root_of_ACAV-SourceCode/vehicles/
.
Currently, only the map file for San Francisco is included in ACAV.
For your own map file, please add it to /root_of_ACAV-SourceCode/maps/
If you use the project in your work, please consider citing the following work:
@inproceedings{sun2024acav,
author = {Sun, Huijia and Poskitt, Christopher M. and Sun, Yang and Sun, Jun and Chen, Yuqi},
title = {ACAV: A Framework for Automatic Causality Analysis in Autonomous Vehicle Accident Recordings},
year = {2024},
isbn = {9798400702174},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3597503.3639175},
doi = {10.1145/3597503.3639175},
booktitle = {Proceedings of the IEEE/ACM 46th International Conference on Software Engineering},
articleno = {102},
numpages = {13},
series = {ICSE '24}
}