User Tools

Site Tools


apr:journees:ete2025

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
apr:journees:ete2025 [2025/04/28 14:50]
mine [Programme préliminaire]
apr:journees:ete2025 [2025/06/03 23:20] (current)
mine [Liste préliminaire des intervenants]
Line 11: Line 11:
  
  
-==== Programme ​préliminaire ​====+==== Programme ====
  
   * Lundi 2 juin 2025   * Lundi 2 juin 2025
-    * Arrivée ​en train suggérée à XXX+    * Arrivée ​de Paris suggérée ​par le train de 10:15 au départ de Paris Nord, arrivée à Lille Flandres ​à 11:18
     * **12:​00-13:​30**:​ Déjeuner     * **12:​00-13:​30**:​ Déjeuner
-    * **14:00-15:30**: Session exposés 1 +    * **14:00-16:00**: Session exposés 1 
-    * **15:30-16:00**: Pause +      * //​Polymalys:​ relational abstract interpretation of assembly code.// Julien Forget (SyCoMoRES, Polytech Lille) 
-    * **16:00-17:30**: Session exposés 2 +      * //CUTECat: Concolic Execution for Computational Law.// Pierre Goutagny (SyCoMoRES, Inria Lille) 
-    * **19:30**: dîner+      * //Reusing Caches and Invariants for Efficient and Sound Incremental Static Analysis.// Mamy Razafintsialonina (DILS, CEA LIST & APR, SU) 
 +    * **16:00-16:30**: Pause 
 +    * **16:30-18:00**: Session exposés 2 
 +      * //Mopsa at the Software-Verification Competition.//​ Raphaël Monat (SyCoMoRES, Inria Lille) 
 +      * //A Practical Solver for Scalar Data Topological Simplification.//​ Mohamed Kissi (APR, SU) 
 +      * //​Conception de systèmes réactifs et programmation parallèle de haut niveau sur des architectures FPGA.// Loïc Sylvestre (DI, École Normale Supérieure) ​ 
 +    * **19:30**: dîner ​à [[https://​estaminetlille.fr/​nos-estaminets/​lestaminet-du-welsh/​|L'​Estaminet du Welsh]] (45 rue de Gand, 59800 Lille)
   * Mardi 3 juin 2025   * Mardi 3 juin 2025
     * **09:​00-10:​30**:​ Session exposés 3     * **09:​00-10:​30**:​ Session exposés 3
 +      * //​Distributed Discrete Morse Sandwich: Efficient Computation of Persistence Diagrams for Massive Scalar Data.// Ève Le Guillou (APR, SU)
 +      * //Vers le multi-raffinement en LeanMachines.//​ Danaël Carbonneau (APR, SU)
 +      * //Unranking lexicographique de partitions d’ensembles sous toutes leurs formes.// Amaury Curiel (APR, SU)
     * **10:​30-11:​00**:​ Pause      * **10:​30-11:​00**:​ Pause 
-    * **11:00-12:00**: Session enseignement +    * **11:00-11:45**: Session enseignement 
-    * **12:00-13:30**: Déjeuner+    * **11:45-13:30**: Déjeuner
     * **13:​30-15:​00**:​ Réunion APR     * **13:​30-15:​00**:​ Réunion APR
-    * Départ ​suggéré par le train de +    * Retour à Paris suggéré par le train de 16:12 au départ de Lille Flandres, arrivée à Paris Nord à 17:18
  
-==== Liste préliminaire ​des intervenants ====+==== Liste des intervenants ====
  
-  * Danaël Carbonneau (APR, LIP6, Sorbonne Université+  * Danaël Carbonneau (APR, SU
-  * Amaury Curiel (APR, LIP6Sorbonne Université+  * Amaury Curiel (APR, SU) 
-  * Mohamed Kissi (APR, LIP6Sorbonne Université+  * Julien Forget (SyCoMoRESPolytech Lille) 
-  * Mamy Razafintsialonina (CEA-LIST & APR, LIP6, Sorbonne Université)+  * Pierre Goutagny (SyCoMoRES, Inria Lille
 +  * Mohamed Kissi (APR, SU) 
 +  * Ève Le Guillou (APRSU) 
 +  * Raphaël Monat (SyCoMoRES, Inria Lille
 +  * Mamy Razafintsialonina (DILS, CEA LIST & APR, SU)
   * Loïc Sylvestre (DI, École Normale Supérieure)   * Loïc Sylvestre (DI, École Normale Supérieure)
  
Line 40: Line 53:
 ==== Résumés ==== ==== Résumés ====
  
-**Analyse théorique de l'​algorithme git bisect**\\ +**Vers le multi-raffinement en LeanMachines**\\ 
-Julien Courtiel ​(GREYCUniversité de Caen)+Danaël Carbonneau ​(APRSU)
  
-Dans le royaume des logiciels de gestion ​de versionsgit +Event B est une méthode formelle basée sur une notion ​de machine à états, qui permet ​de modéliser des systèmes qui peuvent ​être décrits par un état et des transitions discrètes. Il s'agit d'une approche dite de « correction par construction » : on cherche à construire ​des logicielset s'assurer par cette construction ​de l'absence d'erreursDans ce cadre, la méthode Event B repose sur la notion ​de raffinement : on décrit ​une machine à états abstraite correspondant à une spécification du système qu'on cherche à modéliserpuis on précise cette spécification par une machine concrète.
-est sûrement celui qui est assis sur le trône. Ce logiciel libre et +
-populaire dispose ​de nombreuses fonctionnalités très intéressantes +
-dont notamment une, peut-être plus méconnue, qui s'​appelle git bisect. +
-Il s'agit d'un algorithme qui permet ​de débusquer l'​origine d'un bug +
-qui s'est introduit dans un projet. +
- +
-L'​ensemble ​des historiques d'un projet formant naturellement un graphe +
-(plus précisément un DAG)git bisect peut tout simplement se voir +
-comme un algorithme de graphes résolvant un problème connu pour être +
-NP-complet. Toutefois, il est surprenant de voir qu'aucune étude +
-théorique de sa complexité n'a été menée. Paul Dorbec, Romain Lecoq et +
-moi-même, tous trois de l'Université de Caen Normandie, proposons de +
-rectifier cela et vérifier les bonnes performances théoriques (ou non) +
-de git bisect. Il s'agit de travaux en cours. +
- +
-Cet exposé présentera ainsi les faiblesses et les forces de git +
-bisect. Tout d'​abordnous donnerons ​la forme des graphes pour +
-lesquels ​la stratégie ​de git bisect est totalement catastrophique. +
-Ensuite, nous montrerons que pour une certaine classe de graphes qui +
-est représentative des graphes "issus de la vie réelle"​git bisect +
-est en fait une bonne approximation de la stratégie optimale. Enfin, +
-nous nous interrogerons sur l'​existence d'un meilleur algorithme.+
  
 +Le but de cet exposé est de présenter **LeanMachines**,​ une bibliothèque **Lean**, inspirée par les concepts de la méthode Event B. L'​utilisation du langage **Lean** permet d'une part d'​utiliser des outils de modélisation fonctionnelle (utilisation des environnements de la programmation fonctionnelle typée comme des outils de modélisation),​ et d'une autre de pouvoir utiliser son puissant système de types pour pouvoir exprimer les spécification du système sous forme de propositions,​ et les prouver à l'aide de son langage de tactiques. Nous nous intéresserons plus précisément à la notion de raffinement dans **LeanMachines**. Enfin, nous étudierons en quoi leur encodage nous permet d'​exprimer une idée, qui n'​était pas présente dans Event B, mais qui permet d'​intéressantes réutilisations de spécifications : le raffinement multiple.
  
 ---- ----
  
- +**Unranking ​lexicographique de partitions ​d’ensembles sous toutes leurs formes**\\
-**Unranking ​des ZDD: Le premier algorithme ​d’unranking efficace basé sur le principe d’inclusion-exclusion**\\+
 Amaury Curiel (APR, SU) Amaury Curiel (APR, SU)
  
-Les ZDD sont une structure ​de données introduite en 1993 par S.I. Minato dans [1] permettant de représenter des fonctions booléennes de manière compacte grâce à deux règles de compression+Lors de cet exposé, nous nous intéresserons à la génération par unranking lexicographique des 20 structures combinatoires décrites ​par Kenneth PBogart comme les 20 objets les plus fondamentaux en combinatoire
-Dans cet exposé, ​nous allons présenter ​les ZDD et les comparer aux ROBDD [2], une autre structure de données permettant de représenter ​des fonctions booléennes en utilisant un autre jeu de règles de compressionet nous exhiberons une formule ​de comptage pour ces structures basée sur le principe ​d’inclusion-exclusion. Le fait que cette formule ne soit pas constructive pose un problème dans la conception d’algorithmes de génération ​par [[ https://​oeis.org/​wiki/​Ranking_and_unranking_functions| unranking]]+Nous nous intéresserons à les générer grâce à des algorithmes ​de type « unranking »méthode ​de génération déterministe permettant ​d’obtenir gratuitement ​la génération ​aléatoire et exhaustive selon un ordre prédéfini
-Nous présenterons donc la manière dont nous avons résolu ce problème pour concevoir le premier algorithme ​dunranking ​efficace basé sur le principe ​d’inclusion-exclusion. +Dans la littérature,​ il est possible de trouver des algorithmes ​d'unranking ​lexicographique pour 13 d'entre eux
- +
-[1] S.-i. Minato, “Zero-suppressed BDDs for set manipulation in combinatorial problems,​” in Proceedings of the 30th International Design Automation Conference, in DAC '93. Dallas, Texas, USA: Association for Computing Machinery, 1993, pp. 272–277. doi: 10.1145/​157485.164890. +
- +
-[2] Bryant, “Graph-Based Algorithms for Boolean Function Manipulation,​” IEEE Transactions on Computers, no. 8, pp. 677–691, 1986, doi: 10.1109/​TC.1986.1676819.+
  
 +Cependant, il n'​existe à notre connaissance aucun algorithme d'​unranking lexicographique pour les problèmes liés aux partitions d'​ensembles,​ qui consistent à répartir n objets distincts dans k récipients pouvant être de nature différente (distincts, k variable, séquence, ensembles, etc.). ​
 +Ce travail s'​inscrit dans la continuité d'un projet commencé il y a deux ans, dont une partie a été présentée lors de la conférence AofA 2024.
  
 ---- ----
  
 +**Polymalys:​ relational abstract interpretation of assembly code**\\
 +Julien Forget (SyCoMoRES, Polytech Lille)
  
-**Modular Counting ​of Linear Extensions**\\ +Polymalys is a tool for static analysis ​of assembly code. It discovers linear relations between data locations ​(i.e. memory locations as well as registers) of the codeThe analysis relies on abstract interpretation using polyhedra-based abstract domainWe have devised two analyses that use the discovered linear relations to compute upper bounds to loop iterationsor to detect stack smashing.
-Matthieu Dien (GREYC, Université de Caen) +
- +
-The counting ​of linear extensions is a prominent problem about partial orders. +
-Unfortunately, ​the problem is computationally hard and in fact, relatively few counting procedures have been proposed in the literature. +
-In this talk, we will present ​new counting algorithm ​based on the modular decomposition of posets. +
-This algorithm has a better parametrized complexity than the state of the art. +
-Moreoverthis approach leads us to consider a new parameter of posets (the BIT-width) with two corresponding conjectures. +
  
 ---- ----
  
-**Fouille de graphes, application à la chémoinformatique**\\ +**CUTECat: Concolic Execution for Computational Law**\\ 
-Jean-Luc Lamotte ​(GREYCUniversité de Caen)+Pierre Goutagny ​(SyCoMoRESInria Lille)
  
-Cet exposé présente les travaux menés au sein du groupe de +Many legal computations,​ including the amount of tax owed by a citizen, whether they are eligible to social benefits, or the wages due to civil state servants, are specified by computational lawsTheir applicationhowever, is performed by expert computer programs intended to faithfully transcribe the law into computer codeBugs in these programs can lead to dramatic societal impact, e.g., paying employees incorrect amounts, or not awarding benefits to families in needTo address this issuewe consider concolic unit testing, a combination of concrete execution with SMT-based symbolic execution, and propose CUTECat, a concolic execution tool targeting implementations of computational lawsSuch laws typically follow a pattern where a base case is later refined by many exceptions in following law articles, a pattern that can be formally modeled using default logicWe show how to handle default logic inside a concolic execution tooland implement our approach in the context of Catala, a recent domain-specific language tailored to implement computational laws. We evaluate CUTECat on several programs, including the Catala implementation of the French housing benefits and Section 132 of the US tax code. We show that CUTECat can successfully generate hundreds of thousands of testcases covering all branches of these bodies of law. Through several heuristics, we improve CUTECat’scalability and usability, making the testcases understandable by lawyers and programmers alike. We believe CUTECat thus paves the way for the use of formal methods during legislative processes.
-chémoinformatique composé d'​informaticiens du laboratoire GREYC et de +
-chimistes thérapeutiques du laboratoire CERMNLa collaboration se +
-concentre sur la conception de méthodes computationnelles pour +
-identifier des (sous-)structures chimiques d'​intérêt (pour l'​activité, +
-la toxicité ​...) dans les premières étapes de la découverte de +
-médicamentsPour ce fairenous nous appuyons sur des données de +
-bioactivité stockées dans des bases de données chimiques publiques +
-telles que ChEMBL ou des données internes (chimiothèque du CERMN). +
-Nous disposons d'​informations concernant l'​affinité des ligands pour +
-les cibles (un ligand est une molécule qui se lie à une cible). +
-À partir de ces premières informationsnous calculons des +
-associations statistiques mettant en évidence les (sous-)structures +
-chimiques dont la présence semble influencer l'​interaction d'​une +
-molécule avec la (les) cible(s) d'​intérêt+
  
-Notre travail est centré sur les caractéristiques pharmacophoriques +----
-des molécules. Ces caractéristiques correspondent à des fonctions +
-chimiques importantes dans les interactions entre les ligands et les +
-cibles. ​ Toutes les méthodes sont basées sur une représentation des +
-molécules sous la forme de graphes de caractéristiques +
-pharmacophoriques et sur de la fouille de données de sous-graphes +
-appelés pharmacophores. ​+
  
 +**A Practical Solver for Scalar Data Topological Simplification**\\
 +Mohamed Kissi (APR, SU)
  
-L'​exposé présentera ​l'approche ​spécifique du groupe ​de +Cet article présente une méthode pratique de simplification topologique pour les champs scalaires. ​L’objectif est de transformer un champ scalaire initial f en un champ simplifié g, en ne conservant que les paires de persistance significatives tout en supprimant le bruit. Contrairement aux approches existantes centrées sur les extrema, notre méthode prend également en charge des paires complexes, notamment les paires de selles en 3D. Notre algorithme repose sur deux accélérations,​ spécifiquement conçues pour le problème de la simplification topologique,​ ce qui permet d’obtenir des gains de performance substantiels et rend la méthode applicable à des jeux de données réels. L’efficacité de lapproche ​est illustrée par des applications telles que l’extraction ​de structures filamenteuses ​et la correction de défauts topologiques sur des surfacesUne implémentation en C++ est fournie afin d’assurer la reproductibilité des résultats
-chémoinformatique ​et les résultats obtenus.+
  
 ---- ----
  
-**TTK is Getting MPI-Ready**\\+**Distributed Discrete Morse Sandwich: Efficient Computation of Persistence Diagrams for Massive Scalar Data**\\
 Ève Le Guillou (APR, SU) Ève Le Guillou (APR, SU)
  
-This system paper documents the technical foundations for the extension of the Topology ToolKit (TTK) to distributed-memory parallelism with the Message Passing Interface (MPI). +The persistence diagramwhich describes ​the topological ​features ​of a datasetis key descriptor in Topological Data AnalysisThe "​Discrete Morse Sandwich" ​(DMSmethod is currently ​the most efficient algorithm for computing persistence diagrams ​of 3D scalar fields ​on a single nodeusing shared-memory parallelism.
-While several recent papers introduced topology-based approaches for distributed-memory environmentsthese were reporting experiments obtained with tailored, mono-algorithm implementations. +
-In contrast, we describe in this paper a versatile approach (supporting both triangulated domains and regular grids) for the support of topological ​analysis pipelines, i.e. a sequence ​of topological algorithms interacting together. +
-While developing this extension, we faced several algorithmic and software engineering challenges, which we document in this paper. +
-We describe an MPI extension of TTK's data structure for triangulation representation and traversal, ​central component to the global performance and generality of TTK's topological implementations. +
-We also introduce an intermediate interface between TTK and MPIboth at the global pipeline level, and at the fine-grain algorithmic level. +
-We provide ​taxonomy for the distributed-memory topological algorithms supported by TTK, depending on their communication needs and provide examples of hybrid MPI+thread parallelizations. +
-Performance analyses show that parallel efficiencies range from 20% to 80% (depending on the algorithms), and that the MPI-specific preconditioning introduced by our framework induces a negligible computation time overhead. +
-We illustrate the new distributed-memory capabilities ​of TTK with an example of advanced analysis pipeline, combining multiple algorithms, run on the largest publicly available dataset we have found (120 billion vertices) ​on a cluster with 64 nodes (for a total of 1536 cores). +
-Finallywe provide a roadmap for the completion of TTK's MPI extension, along with generic recommendations for each algorithm communication category.+
  
-[[https://​arxiv.org/​abs/​2310.08339 | [article]]]+In this work, we extend DMS to distributed-memory parallelism for the efficient and scalable computation of persistence diagrams for massive datasets across multiple compute nodesOn the one hand, we can leverage the embarrassingly parallel procedure of the first and most time-consuming step of DMS (namely the discrete gradient computation). On the other hand, the efficient distributed computations of the subsequent DMS steps are much more challenging. To address this, we have extensively revised the DMS routines by contributing a new self-correcting algorithm, redesigning key data structures and introducing computation tokens to coordinate distributed computations. We have also introduced a dedicated communication thread to overlap communication and computation.
  
----+Detailed performance analyses show the scalability of our hybrid MPI+thread implementation for strong and weak scaling using up to 16 nodes of 32 cores each (512 cores total). Our implementation outperforms Dipha, the only public implementation for distributed persistence diagram computation,​ with an average speedup of ×8 on 512 cores. We provide a usage example of our algorithm, available at https://​github.com/​eve-le-guillou/​DDMS-example.
- +
- +
-**Under-approximating Abstract Interpretation**\\ +
-Marco Milanese (APR, SU)+
  
-Static analysis by abstract interpretation has traditionally focused on +Finally, we show the capabilities of our algorithm ​by computing ​the persistence diagram ​of a 3D scalar field of 6 billion vertices in 174 seconds with 512 cores.
-program verificationthat is on checking that programs are free of bugs. +
-However, in practice it is not easy to achieve a low rate of false positives,​ +
-and thus verification techniques are difficult to use to catch bugs. In this PhD +
-we explore a different and unconventional analysis, based on abstract +
-interpretation,​ allowing to compute under-approximations and thus catching bugs. +
-This analysis infers sufficient pre-conditions for program defects, enabling +
-developers to detect real bugs and obtain precise information on the conditions +
-where they occur. Our work applies this analysis to the C programming languge: +
-firstly, by focusing on numeric properties and more recently ​by adding support +
-for the rest of the language (e.g., pointers, memory allocations). Finally, +
-we discuss preliminary results ​of our experiments and future directions +
-of work.+
  
 ---- ----
  
-**Wasserstein Auto-Encoders of Merge Trees (and Persistence Diagrams)**\\ +**Mopsa at the Software-Verification Competition**\\ 
-Mathieu Pont (APRSU)+Raphaël Monat (SyCoMoRESInria Lille)
  
-This paper presents ​computational framework for the Wasserstein auto-encoding of merge trees (MT-WAE), a novel extension of the classical auto-encoder neural network architecture to the Wasserstein metric space of merge treesIn contrast ​to traditional auto-encoders which operate on vectorized dataour formulation explicitly manipulates merge trees on their associated metric space at each layer of the network, resulting in superior accuracy and interpretabilityOur novel neural network approach can be interpreted as a non-linear generalization of previous linear attempts [79] at merge tree encoding. It also trivially extends ​to persistence diagrams. Extensive experiments on public ensembles demonstrate the efficiency of our algorithmswith MT-WAE computations ​in the orders of minutes on average. We show the utility of our contributions in two applications adapted from previous work on merge tree encoding [79]. First, we apply MT-WAE ​to merge tree compression,​ by concisely representing ​them with their coordinates in the final layer of our auto-encoder. Secondwe document an application to dimensionality reduction, by exploiting the latent space of our auto-encoder,​ for the visual analysis of ensemble data. We illustrate ​the versatility ​of our framework by introducing two penalty terms, ​to help preserve in the latent space both the Wasserstein distances between merge treesas well as their clusters. In both applications,​ quantitative experiments assess the relevance of our framework. Finally, we provide a C++ implementation that can be used for reproducibility+Mopsa is multilanguage static analysis platform relying on abstract interpretationIt is able to analyze CPython, and programs mixing these two languages; we focus on the C analysis hereIt provides a novel way to combine abstract domains, in order to offer extensibility and cooperation between ​them, which is especially beneficial when relational numerical domains are used. We present ​the results ​of our 3-year participation ​to the international Software-Verification Competitionand reflect on future work.
  
 ---- ----
  
-**Wasserstein Dictionaries of Persistence Diagrams**\\ +**Conception de systèmes réactifs et programmation parallèle de haut niveau sur des architectures FPGA **\\ 
-Keanu Sisouk ​(APRSU)+Loïc Sylvestre ​(DIÉcole Normale Supérieure)
  
-We introduce a multi-scale gradient descent approach for the efficient resolution of the corresponding minimization problemwhich interleaves the optimization of the barycenter weights with the optimization of the atom diagrams. Our approach leverages the analytic expressions for the gradient of both sub-problems to ensure fast iterations and it additionally exploits shared-memory parallelism. Extensive experiments on public ensembles demonstrate the efficiency of our approach, with Wasserstein dictionary computations in the orders of minutes for the largest examples. We show the utility of our contributions in two applications. First, we apply Wassserstein dictionaries to data reduction and reliably compress persistence diagrams by concisely representing them with their weights in the dictionary. Second, we present a dimensionality reduction framework based on a Wasserstein dictionary defined with a small number of atoms  and encode the dictionary as a low dimensional simplex embedded in a visual space.+À l’heure où les systèmes embarqués temps réel doivent exécuter toujours plus de calculs en plus d'​interagir avec le monde physiqueles architectures matérielles à base de FPGA (Field-Programmable Gate Arrays) constituent une cible de choix pour atteindre des facteurs d'​accélération importants tout en maintenant des latences faibles.
  
-----+Dans ce contexte, l'​exposé présentera ECLAT : un langage généraliste (inspiré d’OCaml) avec une sémantique synchrone pour la conception d'​applications fiables et efficaces sur des circuits FPGA. ECLAT permet de composer à la fois des comportements réactifs orientés flot de données et des calculs parallèles en mémoire partagée avec de la concurrence déterministe. Le modèle de calcul proposé est suffisamment précis et expressif pour développer des abstractions de programmation de haut niveau (telles que des squelettes algorithmiques et des machines virtuelles) avec des performances en grande partie prédictibles.
  
-**Programmation FPGA de bas en haut et vice-versa**\\ +Le langage se veut accessible aux programmeuses ​et programmeurs ​de logicieltout en offrant un contrôle fin sur les détails ​d'implantationIl est d'ailleurs utilisé comme langage ​support dans un cours de compilation.
-Loïc Sylvestre (APR, SU) +
- +
-Les circuits reconfigurables FPGA sont classiquement décrits +
-dans des langages synchrones flot de données, tels que VHDL. +
-Ces langages permettent d'​interagir directement avec le monde +
-extérieur (capteurs, actionneurs),​ d'une façon intrinsèquement +
-parallèle et déterministe, en se synchronisant ​sur une horloge +
-globale. La programmation de FPGA dans ces langages est toutefois +
-difficile, car de très bas niveau. +
- +
-Pour y remédier, je montrerai comment encoder des constructions +
-de programmation (fonctions, barrières de synchronisation,​ +
-mémoire partagée), dressant ainsi les bases d'un schéma de +
-compilation pour un langage généraliste parallèle sur une cible FPGA. +
- +
-Ce présente alors un dilemme : comment garder un contrôle fin, +
-de bas-niveau, sur le comportement temporel des applications généralistes ? +
-C'est un point important pour l'interaction avec le monde +
-extérieur, pour prédire les performances et pour offrir à la fois du +
-parallélisme de tâches et de la mémoire partagée (en lecture et en écriture) +
-de façon sûre. +
- +
-La solution que je propose consiste à donner, à un langage ​généraliste,​ +
-une sémantique synchrone guidée par la cible FPGA. Il s'agit alors +
-de définir ​un nouveau schéma ​de compilation ​pour que l'​horloge du modèle +
-synchrone du langage corresponde à l'​horloge globale de la cible FPGA. +
- +
-Le modèle de programmation résultant semble bien adapté +
-pour la conception de systèmes embarqués réactifs,​ +
-la programmation d'​applications parallèles avec mémoire partagée,​ +
-et l'​implantation matérielle de langages de programmation existants+
  
 ---- ----
  
-**Static ​Value Analysis ​by Abstract Interpretation for Functional Languages**\\ +**Reusing Caches and Invariants for Efficient and Sound Incremental ​Static Analysis**\\ 
-Milla Valnet ​(APR, SU)+Mamy Razafintsialonina ​(DILS, CEA LIST & APR, SU)
  
-To prevent programming errors, ​static ​analysers have been developed for many languages; here we will focus on functional languages. Verification tools for these languages exist, such as classical type systems or deductive methods, but automatic reasoning on numerical programs has been little explored. In this presentation,​ I will present my work on value analysis ​by abstract interpretation ​of functional languagesa safe and automatic ​approach to prevent errors at runtime. +We present a generic and sound approach to incremental ​static analysis ​using abstract interpretation, ​designed to overcome the time cost that hinder its integration into CI/CD pipelines. Existing incremental methods often lack soundness guarantees or are limited to specific analyses or tools. The presented ​approach ​leverages the similarity between different program versions ​to soundly reuse previously computed analysis resultsWe propose novel methods for summarizing functions and reusing loop invariants. These techniques are formalizedproved sound, implemented in the Eva abstract ​interpreter ​of Frama-C, and evaluated on real-world commits of open-source programsThe evaluation demonstrates that the incremental ​analysis ​significantly reduces re-analysis time compared ​to a full analysis, ​while maintaining soundness and high level of precisionmaking it suitable for integrating sound static analysis into CI/CD processes.
-Our first resultsbased on relational ​abstract ​domains and summaries ​of recursive fields in algebraic types, allow us to analyse first-order recursive functions manipulating recursive algebraic types, and to infer in an abstract domain their input-output relationThese methods have been successfully implemented on the MOPSA multilanguage ​analysis ​platform for the OCaml language. +
-Our current research aims to retain this compositionality for the analysis ​of higher-order functionsin order to obtain ​precise input-output relationship from their point of definition. I will present our ideascurrently experimentally evaluated.+
  
----- 
  
apr/journees/ete2025.1745844618.txt.gz · Last modified: 2025/04/28 14:50 by mine