Riouak, I., Fors, N., Öqvist, J., Hedin, G., & Reichenbach, C. (2024). Efficient Demand Evaluation of Fixed-Point Attributes Using Static Analysis. Proceedings of the 17th International Conference on Software Language Engineering (SLE 2024). https://conf.researchr.org/home/sle-2024
PDF
BIB
ABSTRACT
🏆 Distinguished Paper Award
🏆 Distinguished Artifact Award
@inproceedings{riouak2024efficient,
author = {Riouak, Idriss and Fors, Niklas and Öqvist, Jesper and Hedin, Görel and Reichenbach, Christoph},
title = {Efficient Demand Evaluation of Fixed-Point Attributes Using Static Analysis},
booktitle = {Proceedings of the 17th International Conference on Software Language Engineering (SLE 2024)},
year = {2024},
location = {Pasadena, CA, USA},
publisher = {ACM},
file = {dncpaper.pdf},
url = {https://conf.researchr.org/home/sle-2024},
award = {Distinguished Paper Award},
award2 = {Distinguished Artifact Award}
}
Declarative approaches to program analysis promise a number of practical advantages over imperative approaches, from eliminating manual worklist management to increasing modularity. Reference Attribute Grammars (RAGs) are one such approach. One particular advantage of RAGs is the automatic generation of on-demand implementations, suitable for query-based interactive tooling as well as for client analyses that do not require full evaluation of underlying analyses. While historically aimed at compiler frontend construction, the addition of circular (fixed-point) attributes also makes them suitable for dataflow problems. However, prior algorithms for on-demand circular RAG evaluation can be inefficient or even impractical for dataflow analysis of realistic programming languages like Java. We propose a new demand algorithm for attribute evaluation that addresses these weaknesses, and apply it to a number of real-world case studies. Our algorithm exploits the fact that some attributes can never be circular, and we describe a static meta-analysis that identifies such attributes, and obtains a median steady-state performance speedup of 2.5x and s22x for dead-assignment and null-pointer dereference analyses, respectively.
Riouak, I. (2024). Using Static Analysis to Improve the Efficiency of Program Analysis. Programming 2024, ACM SIGPLAN Student Research Competition. https://src.acm.org/binaries/content/assets/src/2024/idriss-riouak.pdf
PDF
BIB
🏆 First Place
@inproceedings{riouak2024src,
author = {Riouak, Idriss},
title = {Using Static Analysis to Improve the Efficiency of Program Analysis},
booktitle = {Programming 2024, ACM SIGPLAN Student Research Competition},
year = {2024},
location = {Lund, Sweden},
publisher = {ACM},
file = {src.pdf},
url = {https://src.acm.org/binaries/content/assets/src/2024/idriss-riouak.pdf},
award = {First Place}
}
Riouak, I., Hedin, G., Reichenbach, C., & Fors, N. (2022). JFeature: Know Your Corpus. 22st IEEE International Working Conference on Source Code Analysis
and Manipulation, SCAM 2022, Cyprus October 3-4, 2022. https://github.com/lu-cs-sde/JFeature/blob/main/preprint.pdf
PDF
BIB
ABSTRACT
SLIDES
@inproceedings{RiouakCorpus22,
author = {Riouak, Idriss and Hedin, G{\"{o}}rel and Reichenbach, Christoph and Fors, Niklas},
title = {JFeature: Know Your Corpus},
booktitle = {22st {IEEE} International Working Conference on Source Code Analysis
and Manipulation, {SCAM} 2022, Cyprus October 3-4, 2022},
publisher = {{IEEE}},
year = {2022},
url = {https://github.com/lu-cs-sde/JFeature/blob/main/preprint.pdf},
file = {JFeature.pdf},
slide = {JFeatureSlides.pdf}
}
Software corpora are crucial for evaluating research artifacts and ensuring repeatability of outcomes. Corpora such as DaCapo and Defects4J provide a collection of real-world open-source projects for evaluating the robustness and performance of software tools like static analysers. However, what do we know about these corpora? What do we know about their composition? Are they really suited for our particular problem? We developed JFeature, an extensible static analysis tool that extracts syntactic and semantic features from Java programs, to assist developers in answering these questions. We demonstrate the potential of JFeature by applying it to four widely-used corpora in the program analysis area, and we suggest other applications, including longitudinal studies of individual Java projects and the creation of new corpora.
Riouak, I., Reichenbach, C., Hedin, G., & Fors, N. (2021). A Precise Framework for Source-Level Control-Flow Analysis. 21st IEEE International Working Conference on Source Code Analysis
and Manipulation, SCAM 2021, Luxembourg, September 27-28, 2021, 1–11. https://doi.org/10.1109/SCAM52516.2021.00009
PDF
DOI
BIB
ABSTRACT
POSTER
VIDEO
SLIDES
@inproceedings{RiouakRHF21,
author = {Riouak, Idriss and Reichenbach, Christoph and Hedin, G{\"{o}}rel and Fors, Niklas},
title = {A Precise Framework for Source-Level Control-Flow Analysis},
booktitle = {21st {IEEE} International Working Conference on Source Code Analysis
and Manipulation, {SCAM} 2021, Luxembourg, September 27-28, 2021},
pages = {1--11},
publisher = {{IEEE}},
year = {2021},
url = {https://doi.org/10.1109/SCAM52516.2021.00009},
doi = {10.1109/SCAM52516.2021.00009},
biburl = {https://dblp.org/rec/conf/scam/RiouakRHF21.bib},
bibsource = {dblp computer science bibliography, https://dblp.org},
youtube = {https://www.youtube.com/watch?v=H5MJefq0fkw},
file = {IntraJ.pdf},
slide = {IntraJSlides.pdf},
poster = {IntraJPoster.pdf}
}
This paper presents INTRACFG, a declarative and language-independent framework for constructing precise intraprocedural control-flow graphs (CFGs) based on the reference attribute grammar system JastAdd. Unlike most other frameworks, which build CFGs on an Intermediate Representation level, e.g., bytecode, our approach superimposes the CFGs on the Abstract Syntax Tree, enabling accurate client analysis. Moreover, INTRACFG overcomes expressivity limitations of an earlier RAG-based framework, allowing the construction of AST-Unrestricted CFGs: CFGs whose shape is not confined to the AST structure. We evaluate the expressivity of INTRACFG with INTRAJ, an application of INTRACFG to Java 7, by comparing two data flow analyses built on top of INTRAJ against tools from academia and from the industry. The results demonstrate that INTRAJ is effective at building precise and efficient CFGs and enables analyses with competitive performance.
Fabiano, F., Riouak, I., Dovier, A., & Pontelli, E. (2019). Non-Well-Founded Set Based Multi-Agent Epistemic Action Language. In A. Casagrande & E. G. Omodeo (Eds.), Proceedings of the 34th Italian Conference on Computational Logic,
Trieste, Italy, June 19-21, 2019 (Vol. 2396, pp. 242–259). CEUR-WS.org; . http://ceur-ws.org/Vol-2396/paper38.pdf
PDF
BIB
ABSTRACT
@inproceedings{FabianoRDP19,
author = {Fabiano, Francesco and Riouak, Idriss and Dovier, Agostino and Pontelli, Enrico},
editor = {Casagrande, Alberto and Omodeo, Eugenio G.},
title = {Non-Well-Founded Set Based Multi-Agent Epistemic Action Language},
booktitle = {Proceedings of the 34th Italian Conference on Computational Logic,
Trieste, Italy, June 19-21, 2019},
series = {{CEUR} Workshop Proceedings},
volume = {2396},
pages = {242--259},
publisher = {CEUR-WS.org},
year = {2019},
url = {http://ceur-ws.org/Vol-2396/paper38.pdf},
timestamp = {Wed, 12 Feb 2020 16:44:22 +0100},
biburl = {https://dblp.org/rec/conf/cilc/FabianoRDP19.bib},
bibsource = {dblp computer science bibliography, https://dblp.org},
file = {nonwellfoundedsets.pdf}
}
Frehse, G., Abate, A., Adzkiya, D., Becchi, A., Bu, L., Cimatti, A., Giacobbe, M., Griggio, A., Mover, S., Mufid, M. S., Riouak, I., Tonetta, S., & Zaffanella, E. (2019). ARCH-COMP19 Category Report: Hybrid Systems with Piecewise Constant
Dynamics. In G. Frehse & M. Althoff (Eds.), ARCH19. 6th International Workshop on Applied Verification of Continuous
and Hybrid Systemsi, part of CPS-IoT Week 2019, Montreal, QC, Canada,
April 15, 2019 (Vol. 61, pp. 1–13). EasyChair; . https://doi.org/10.29007/rjwn
PDF
DOI
BIB
@inproceedings{FrehseAABBCGGMM19,
author = {Frehse, Goran and Abate, Alessandro and Adzkiya, Dieky and Becchi, Anna and Bu, Lei and Cimatti, Alessandro and Giacobbe, Mirco and Griggio, Alberto and Mover, Sergio and Mufid, Muhammad Syifa'ul and Riouak, Idriss and Tonetta, Stefano and Zaffanella, Enea},
editor = {Frehse, Goran and Althoff, Matthias},
title = {{ARCH-COMP19} Category Report: Hybrid Systems with Piecewise Constant
Dynamics},
booktitle = {{ARCH19.} 6th International Workshop on Applied Verification of Continuous
and Hybrid Systemsi, part of CPS-IoT Week 2019, Montreal, QC, Canada,
April 15, 2019},
series = {EPiC Series in Computing},
volume = {61},
pages = {1--13},
publisher = {EasyChair},
year = {2019},
url = {https://doi.org/10.29007/rjwn},
doi = {10.29007/rjwn},
timestamp = {Thu, 14 Oct 2021 10:03:59 +0200},
biburl = {https://dblp.org/rec/conf/cpsweek/FrehseAABBCGGMM19.bib},
bibsource = {dblp computer science bibliography, https://dblp.org},
file = {arch.pdf}
}