Climb

From LRDE

It appears that if all the projects of the LRDE involve various application areas, a common underlying problem is how to reconcile two aspects that are usually contradictory: performance and genericity.

This issue has led the lab's teams to develop a long-term software engineering based on technical C++ with many templates. This approach has its drawbacks. Disadvantages include the fact that C++ is a heavy language with an extremely complex and ambiguous syntax, that the template system is actually a completely different language from standard C++, and finally that it is a static language. This last point has significant implications on the application, insofar as it imposes a strict chain of Compilation => Development => Run => Debug, making for example rapid prototyping or human-machine interfacing activities difficult. It becomes therefore essential to equip the involved projects with a third language infrastructure that is rather based on scripting languages.

Facing these problems, another team of the laboratory has chosen to focus on the persistent question of performance and genericity with a transversal approach, that is to say focused on alternative languages rather than on a particular application domain. The purpose of this research is therefore to examine the solutions offered by languages other than C++, especially dynamic languages, and we chose Common Lisp.

Perfomance

At first glance, it seems paradoxical indeed to use, for performance issues, a language which is legitimately expected to deteriorate them. Almost by definition, a dynamic language does less at compile-time and more at run-time (eg, type checking). Most modern dynamic languages like Python and Ruby match these preconceived notions. Common Lisp, however, has this ability to let you static type pieces of the code you write, and let the rest be dynamically typed. A compiler that is properly informed about such types is then free to perform any possible optimization, even to produce a weakly typed executable as a C compiler would do.

Therefore, one goal of this research focuses on comparing the performance obtained by some Common Lisp compilers with those of equivalent programs written in C or C++. This work involves a substantial set of performance measurements on micro-benchmarks to evaluate the cost of some basic operations (arithmetic, object instantiation, access to their members, dynamic dispatch, etc.).

Genericity

Once the issue of performance is resolved, we still have to demonstrate the benefits of a dynamic language for genericity. The basis of this approach lies in a fact that is this time widely recognized: dynamic languages are more expressive. By eliminating especially the static typing, and consequently, by expanding the scope of polymorphism, dynamic languages provide paradigms that are impossible or difficult to obtain in static languages. If we take simply the paradigm of object-oriented programming, Common Lisp goes further than other (static or dynamic) languages if that the object layer is based on a so-called meta-object protocol: a reflexive architecture that implements the object layer in itself, and that also allows to modify or extend it. Thus, far from the classical OO approach of traditional languages, the object-oriented layer of Common Lisp includes natively multimethods, and allows the use (and mix) of traditional classes-based, prototype-based, context-oriented approaches, etc.

The second line of research in this work consists in the study of all these new programming paradigms in terms of what they bring to the notion of genericity. To do this, we have chosen to clone one of the oldest projects of the laboratory (Olena) and to express the same issues following an axis of dynamic genericity.

Finally, a longer-term perspective will be to reconcile these aspects of dynamic genericity with the performances of a dedicated code. This step should also be made significantly easier than the manipulation of C++ templates because of the structural reflexivity of Lisp (code and data are represented in the same way). The system of macros in Common Lisp is unique because it can perform any function written in Lisp itself during the compilation, these functions themselves having access to the code to compile. This allows in particular to rewrite the code on the fly and provides for native JIT-compilation.

Publications

Conferences
 AuthorTitlePublished inDate
Forecasting Electricity Prices: An Optimize Then Predict-Based ApproachLéonard Tschora
Erwan Pierre
Marc Plantevit
Céline Robardet
Forecasting Electricity Prices: An Optimize Then Predict-Based ApproachAdvances in Intelligent Data Analysis XXI10 April 2023
An Experience Report on the Optimization of the Product Configuration System of RenaultHao Xu
Souheib Baarir
Tewfik Ziadi
Siham EssodaiguiYves Bossu
Lom Messan Hillah
An Experience Report on the Optimization of the Product Configuration System of Renault26th International Conference on Engineering of Complex Computer Systems3 April 2023
Optimization of the Product Configuration System of RenaultHao Xu
Souheib Baarir
Tewfik Ziadi
Siham EssodaiguiYves Bossu
Lom Messan Hillah
Optimization of the Product Configuration System of RenaultSAC '23: The 38th ACM/SIGAPP Symposium on Applied Computing3 April 2023
Catoids and Modal Convolution AlgebrasUli Fahrenberg
Christian Johansen
Georg Struth
Krzysztof Ziemiański
Catoids and Modal Convolution AlgebrasAlgebra Universalis5 March 2023
A Myhill-Nerode Theorem for Higher-Dimensional AutomataUli Fahrenberg
Krzysztof Ziemiański
A Myhill-Nerode Theorem for Higher-Dimensional AutomataApplication and Theory of Petri Nets and Concurrency (PETRI NETS)5 March 2023
Discrete Morse Functions and WatershedsGilles Bertrand
Nicolas Boutry
Laurent Najman
Discrete Morse Functions and WatershedsJournal of Mathematical Imaging and Vision (Special Edition)1 January 2023
Gradients Intégrés RenforcésCaroline Mazini-Rodrigues
Nicolas Boutry
NajmanLaurent
Gradients Intégrés RenforcésExplain'AI - EGC Workshop15 December 2022
Trie-based Output Itemset SamplingLamine Diop
Cheikh Talibouya Diop
Dominique Li
Arnaud Soulet
GiacomettiArnaud
Trie-based Output Itemset Sampling2022 IEEE International Conference on Big Data (Big Data)12 December 2022
Learning Diversity Attributes in Multi-Session RecommendationsNassim Bouarour
Idir Benouaret
Amer-YahiaSihem
Learning Diversity Attributes in Multi-Session Recommendations2022 IEEE International Conference on Big Data (Big Data)12 December 2022
Methods for Explaining Top-N Recommendations Through Subgroup DiscoveryMouloud Iferroudjene
Corentin Lonjarret
Céline Robardet
Marc Plantevit
AtzmuellerMartin
Methods for Explaining Top-N Recommendations Through Subgroup DiscoveryData Mining and Knowledge Discovery10 December 2022
Tuning SAT Solvers for LTL Model CheckingAnissa Kheireddine
Étienne Renault
Souheib Baarir
Tuning SAT Solvers for LTL Model CheckingProceedings of the 29th Asia-Pacific Software Engineering Conference (APSEC'22)9 December 2022
Towards Better Heuristics for Solving Bounded Model Checking ProblemsAnissa Kheireddine
Étienne Renault
Souheib Baarir
Towards Better Heuristics for Solving Bounded Model Checking ProblemsConstraints9 December 2022
Go2Pins: A framework for the LTL verification of Go programs (Extended Version)Etienne Renault
Alexandre Kirszenberg
Antoine Martin
Hugo Moreau
Go2Pins: A framework for the LTL verification of Go programs (Extended Version)International Journal on Software Tools for Technology Transfer (STTT)9 December 2022
CosySEL: Improving SAT Solving Using Local SymmetriesS Saouli
S Baarir
C Dutheillet
J Devriendt
CosySEL: Improving SAT Solving Using Local Symmetries24th International Conference on Verification, Model Checking, and Abstract Interpretation8 December 2022
Higher-Dimensional Timed and Hybrid AutomataUli FahrenbergHigher-Dimensional Timed and Hybrid AutomataLeibniz Transactions on Embedded Systems8 December 2022
Diversifying a Parallel SAT Solver with Bayesian Moment MatchingV Vallade
S Nejati
J Sopena
V Ganesh
S Baarir
Diversifying a Parallel SAT Solver with Bayesian Moment MatchingSymposium on Dependable Software Engineering TheoriesTools and Applications8 December 2022
Energy Problems in Finite and Timed Automata with Büchi ConditionsSven Dziadek
Uli Fahrenberg
Philipp Schlehuber-Caissier
Energy Problems in Finite and Timed Automata with Büchi ConditionsInternational Symposium on Formal Methods (FM)8 December 2022
Introduction to the Special Issue on Distributed Hybrid SystemsAlessandro Abate
Uli Fahrenberg
FränzleMartin
Introduction to the Special Issue on Distributed Hybrid SystemsLeibniz Transactions on Embedded Systems8 December 2022
The Dahu Graph-Cut for Interactive Segmentation on 2D/3D ImagesMinh Ôn Vũ Ngoc
Edwin Carlinet
Jonathan Fabrizio
Thierry Géraud
The Dahu Graph-Cut for Interactive Segmentation on 2D/3D ImagesPattern Recognition3 December 2022
Featured GamesUli Fahrenberg
Axel Legay
Featured GamesScience of Computer Programming1 November 2022
In Pursuit of the Hidden Features of GNN's Internal RepresentationsLuca Veyrin-Forrer
Ataollah Kamal
Stefan Duffner
Marc Plantevit
Céline Robardet
In Pursuit of the Hidden Features of GNN's Internal RepresentationsData & Knowledge Engineering26 October 2022
Topology-Aware Method to Segment 3D Plan Tissue ImagesMinh Ôn Vũ Ngoc
Nicolas Boutry
Jonathan Fabrizio
Topology-Aware Method to Segment 3D Plan Tissue Images36th Conference on Neural Information Processing SystemsAI for Science Workshop25 October 2022
On GNN Explainability with Activation RulesLuca Veyrin-Forrer
Ataollah Kamal
Marc Plantevit
Céline Robardet
DuffnerStefan
On GNN Explainability with Activation RulesData Mining and Knowledge Discovery20 October 2022
The Cost of Dynamism in Static Languages for Image ProcessingBaptiste Esteban
Edwin Carlinet
Guillaume Tochon
Didier Verna
The Cost of Dynamism in Static Languages for Image ProcessingProceedings of the 21st International Conference on Generative Programming: Concepts & Experiences (GPCE 2022)10 October 2022
A Modern C++ Point of View of Programming in Image ProcessingMichaël Roynard
Edwin Carlinet
Thierry Géraud
A Modern C++ Point of View of Programming in Image ProcessingProceedings of the 21st International Conference on Generative Programming: Concepts & Experiences (GPCE 2022)10 October 2022
Multi-purpose Tactile Perception Based on Deep Learning in a New Tendon-driven Optical Tactile SensorZhou Zhao
Zhenyu Lu
Multi-purpose Tactile Perception Based on Deep Learning in a New Tendon-driven Optical Tactile Sensor2022 IEEE/RSJ International Conference on Intelligent Robots and Systems1 October 2022
Discovering and Visualizing Tactics in Table Tennis Games Based on Subgroup DiscoveryPierre Duluard
Xinqing Li
Marc Plantevit
Céline Robardet
Romain Vuillemot
Discovering and Visualizing Tactics in Table Tennis Games Based on Subgroup DiscoveryMachine Learning and Data Mining for Sports Analytics - 9th International Workshop, MLSA 202219 September 2022
Improving the Quality of Rule-Based GNN ExplanationsAtaollah Kamal
Elouan Vincent
Marc Plantevit
Céline Robardet
Improving the Quality of Rule-Based GNN ExplanationsWorkshop on eXplainable Knowledge Discovery in Data Mining. Machine Learning and Principles and Practice of Knowledge Discovery in Databases - International Workshops of ECML PKDD 2022, GrenobleFrance, September 19-23, 2022, Proceedings, Part I12 September 2022
A Kleene Theorem for Higher-Dimensional AutomataUli Fahrenberg
Christian Johansen
Georg Struth
Krzysztof Ziemiański
A Kleene Theorem for Higher-Dimensional Automata33rd International Conference on Concurrency Theory (CONCUR 2022)6 September 2022
Comparing Use-Cases of Tree-Fold vs Fold-Left, How to Fold and Color a MapJim NewtonComparing Use-Cases of Tree-Fold vs Fold-Left, How to Fold and Color a MapSymposium on Implementation and Application of Functional Languages31 August 2022
Label-Efficient Self-Supervised Speaker Verification With Information Maximization and Contrastive LearningThéo Lepage
Réda Dehak
Label-Efficient Self-Supervised Speaker Verification With Information Maximization and Contrastive LearningProc. Interspeech 202228 August 2022
Using subgroup discovery to relate odor pleasantness and intensity to peripheral nervous system reactionsMaelle Moranges
Marc Plantevit
Moustafa Bensafi
Using subgroup discovery to relate odor pleasantness and intensity to peripheral nervous system reactionsIEEE Transactions on Affective Computing24 July 2022
What Does my GNN Really Capture? On Exploring Internal GNN RepresentationsLuca Veyrin-Forrer
Ataollah Kamal
Stefan Duffner
Marc Plantevit
Céline Robardet
What Does my GNN Really Capture? On Exploring Internal GNN RepresentationsInternational Joint Conference on Artificial Intelligence 202223 July 2022
On Robustness for the Skolem and Positivity ProblemsS Akshay
Hugo Bazille
Blaise Genest
Mihir Vahanwala
On Robustness for the Skolem and Positivity Problems39th International Symposium on Theoretical Aspects of Computer Science STACS7 July 2022
Posets With Interfaces as a Model for ConcurrencyUli Fahrenberg
Christian Johansen
Georg Struth
Krzysztof Ziemiański
Posets With Interfaces as a Model for ConcurrencyInformation and Computation30 June 2022
Greibach normal form for ω-algebraic systems and weighted simple ω-pushdown automataManfred Droste
Sven Dziadek
Werner Kuich
Greibach normal form for ω-algebraic systems and weighted simple ω-pushdown automataInformation and Computation30 June 2022
Estimation de la fonction de niveau de bruit pour des images couleurs en utilisant la morphologie mathématiqueBaptiste Esteban
Guillaume Tochon
Edwin Carlinet
Didier Verna
Estimation de la fonction de niveau de bruit pour des images couleurs en utilisant la morphologie mathématique28e Colloque sur le traitement du signal et des images15 June 2022
Généricité dynamique pour des algorithmes morphologiquesBaptiste Esteban
Edwin Carlinet
Guillaume Tochon
Didier Verna
Généricité dynamique pour des algorithmes morphologiques28e Colloque sur le traitement du signal et des images15 June 2022
From Spot 2.0 to Spot 2.10: What's New?Alexandre Duret-Lutz
Etienne Renault
Maximilien Colange
Florian Renkin
Alexandre Gbaguidi Aisse
Philipp Schlehuber-Caissier
Thomas Medioni
Antoine Martin
Jérôme Dubois
Clément Gillard
Henrich Lauko
From Spot 2.0 to Spot 2.10: What's New?Proceedings of the 34th International Conference on Computer Aided Verification (CAV'22)6 June 2022
Some Equivalence Relation between Persistent Homology and Morphological DynamicsNicolas Boutry
Laurent Najman
Thierry Géraud
Some Equivalence Relation between Persistent Homology and Morphological DynamicsJournal of Mathematical Imaging and Vision17 May 2022
Effective Reductions of Mealy MachinesFlorian Renkin
Philipp Schlehuber-Caissier
Alexandre Duret-Lutz
Adrien Pommellet
Effective Reductions of Mealy MachinesProceedings of the 42nd International Conference on Formal Techniques for Distributed Objects, Components, and Systems (FORTE'22)26 April 2022
LTL under reductions with weaker conditions than stutter invarianceEmmanuel Paviot-Adet
Denis Poitrenaud
Etienne Renault
Yann Thierry-Mieg
LTL under reductions with weaker conditions than stutter invarianceProceedings of the 41th IFIP International Conference on Formal Techniques for Distributed Objects, Components and Systems (FORTE'22)18 April 2022
Estimation of the noise level function for color images using mathematical morphology and non-parametric statisticsBaptiste Esteban
Guillaume Tochon
Edwin Carlinet
Didier Verna
Estimation of the noise level function for color images using mathematical morphology and non-parametric statisticsProceedings of the 26th International Conference on Pattern Recognition8 April 2022
A Benchmark of Named Entity Recognition Approaches in Historical DocumentsNathalie Abadie
Edwin Carlinet
Joseph Chazalon
Bertrand Duménieu
A Benchmark of Named Entity Recognition Approaches in Historical DocumentsProceedings of the 15th IAPR International Workshop on Document Analysis System7 April 2022
Learning Grayscale Mathematical Morphology with Smooth Morphological LayersRomain Hermary
Guillaume Tochon
Élodie Puybareau
Alexandre Kirszenberg
Jesús Angulo
Learning Grayscale Mathematical Morphology with Smooth Morphological LayersJournal of Mathematical Imaging and Vision4 April 2022
Qu'est-ce que mon GNN capture vraiment ? Exploration des représentations internes d'un GNNLuca Veyrin-Forrer
Ataollah Kamal
Stefan Duffner
Marc Plantevit
Céline Robardet
Qu'est-ce que mon GNN capture vraiment ? Exploration des représentations internes d'un GNNExtraction et Gestion des Connaissances, EGC 2022Blois, France, 24 au 28 janvier 202224 March 2022
Local Intensity Order Transformation for Robust Curvilinear Object SegmentationTianyi Shi
Nicolas Boutry
Yongchao Xu
Thierry Géraud
Local Intensity Order Transformation for Robust Curvilinear Object SegmentationIEEE Transactions on Image Processing22 March 2022
Electricity Price Forecasting on the Day-Ahead Market using Machine LearningLéonard Tschora
Erwan Pierre
Marc Plantevit
Céline Robardet
Electricity Price Forecasting on the Day-Ahead Market using Machine LearningApplied Energy10 March 2022
Max-Tree Computation on GPUsNicolas Blin
Edwin Carlinet
Florian Lemaitre
Lionel Lacassagne
Thierry Géraud
Max-Tree Computation on GPUsIEEE Transactions on Parallel and Distributed Systems9 March 2022
ETAP: Experimental Typesetting Algorithms PlatformDidier VernaETAP: Experimental Typesetting Algorithms Platform15th European Lisp Symposium1 March 2022
... further results
Journals
 AuthorTitlePublished inDate
A Theoretical and Numerical Analysis of the Worst-Case Size of Reduced Ordered Binary Decision DiagramsJim Newton
Didier Verna
A Theoretical and Numerical Analysis of the Worst-Case Size of Reduced Ordered Binary Decision DiagramsACM Transactions on Computational Logic28 August 2018
Lisp, Jazz, AikidoDidier VernaLisp, Jazz, AikidoThe Art, Science and Engineering of Programming Journal5 February 2018
Revisiting the Visitor: the Just Do It PatternDidier VernaRevisiting the Visitor: the Just Do It PatternJournal of Universal Computer Science1 January 2010
Binary Methods Programming: the CLOS Perspective (extended version)Didier VernaBinary Methods Programming: the CLOS Perspective (extended version)Journal of Universal Computer Science1 January 2008
How to make Lisp go faster than CDidier VernaHow to make Lisp go faster than CIAENG International Journal of Computer Science1 December 2006


Book chapters
 AuthorTitlePublished inDate
Extensible languages: blurring the distinction between DSLs and GPLsDidier VernaExtensible languages: blurring the distinction between DSLs and GPLsFormal and Practical Aspects of Domain-Specific Languages: Recent Developments1 September 2012