Many program analyses require statically inferring the possible values of object variables. However, current approaches either do not account for correlations between object fields or do so in an ad hoc manner. The COAL project enables the specification and solution of these problems in a principled way. The project includes a language that is used to describe the classes of the objects whose value should be inferred. It also includes a solver, which computes the object values.
➡️ The original work was part of this publication:
@inproceedings{
10.5555/2818754.2818767,
author = {Octeau, Damien and Luchaup, Daniel and Dering, Matthew and Jha, Somesh and McDaniel, Patrick},
title = {Composite Constant Propagation: Application to Android Inter-Component Communication Analysis},
year = {2015},
isbn = {9781479919345},
publisher = {IEEE Press},
booktitle = {Proceedings of the 37th International Conference on Software Engineering - Volume 1},
pages = {77–88},
numpages = {12},
location = {Florence, Italy},
series = {ICSE '15}
}
🆕 This repository provides a way more advanced string analysis than the original repository, several dozens of string operations have been implemented.
git clone https://github.com/JordanSamhi/coal-strings.git
cd coal-strings mvn clean install
OR
cd coal-strings sh build.sh
If you stumble upon a stack overflow error while building COAL-Strings, increase memory available with this command:
export MAVEN_OPTS=-Xss32m
Then, try to rebuild.
➡️ For more information, you can refer to the archive of the original website: archive
- Maven - Dependency Management
This project is licensed under the Apache License 2.0 - see the LICENSE file for details
For any question, please contact us at: Jordan Samhi