Difference between revisions of "Climb"
From LRDE
Line 41: | Line 41: | ||
===== Conferences ===== |
===== Conferences ===== |
||
− | {{#ask: [[Category:Publications]] [[Publication type::inproceedings]] [[Has author::~*Didier Verna*]] [[Published in::!~Onward* |
+ | {{#ask: [[Category:Publications]] [[Publication type::inproceedings]] [[Has author::~*Didier Verna*]] [[Published in::!~Onward*]] OR [[Published in::!TUGboat]] |
| ?Has author = Author |
| ?Has author = Author |
||
| ?Has title = Title |
| ?Has title = Title |
Revision as of 14:42, 18 October 2013
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
Author | Title | Published in | Date | |
---|---|---|---|---|
Forecasting Electricity Prices: An Optimize Then Predict-Based Approach | Léonard Tschora Erwan Pierre Marc Plantevit Céline Robardet | Forecasting Electricity Prices: An Optimize Then Predict-Based Approach | Advances in Intelligent Data Analysis XXI | 10 April 2023 |
An Experience Report on the Optimization of the Product Configuration System of Renault | Hao Xu Souheib Baarir Tewfik Ziadi Siham EssodaiguiYves Bossu Lom Messan Hillah | An Experience Report on the Optimization of the Product Configuration System of Renault | 26th International Conference on Engineering of Complex Computer Systems | 3 April 2023 |
Optimization of the Product Configuration System of Renault | Hao Xu Souheib Baarir Tewfik Ziadi Siham EssodaiguiYves Bossu Lom Messan Hillah | Optimization of the Product Configuration System of Renault | SAC '23: The 38th ACM/SIGAPP Symposium on Applied Computing | 3 April 2023 |
Catoids and Modal Convolution Algebras | Uli Fahrenberg Christian Johansen Georg Struth Krzysztof Ziemiański | Catoids and Modal Convolution Algebras | Algebra Universalis | 5 March 2023 |
A Myhill-Nerode Theorem for Higher-Dimensional Automata | Uli Fahrenberg Krzysztof Ziemiański | A Myhill-Nerode Theorem for Higher-Dimensional Automata | Application and Theory of Petri Nets and Concurrency (PETRI NETS) | 5 March 2023 |
Discrete Morse Functions and Watersheds | Gilles Bertrand Nicolas Boutry Laurent Najman | Discrete Morse Functions and Watersheds | Journal of Mathematical Imaging and Vision (Special Edition) | 1 January 2023 |
Gradients Intégrés Renforcés | Caroline Mazini-Rodrigues Nicolas Boutry NajmanLaurent | Gradients Intégrés Renforcés | Explain'AI - EGC Workshop | 15 December 2022 |
Trie-based Output Itemset Sampling | Lamine Diop Cheikh Talibouya Diop Dominique Li Arnaud Soulet GiacomettiArnaud | Trie-based Output Itemset Sampling | 2022 IEEE International Conference on Big Data (Big Data) | 12 December 2022 |
Learning Diversity Attributes in Multi-Session Recommendations | Nassim Bouarour Idir Benouaret Amer-YahiaSihem | Learning Diversity Attributes in Multi-Session Recommendations | 2022 IEEE International Conference on Big Data (Big Data) | 12 December 2022 |
Methods for Explaining Top-N Recommendations Through Subgroup Discovery | Mouloud Iferroudjene Corentin Lonjarret Céline Robardet Marc Plantevit AtzmuellerMartin | Methods for Explaining Top-N Recommendations Through Subgroup Discovery | Data Mining and Knowledge Discovery | 10 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 |
Tuning SAT Solvers for LTL Model Checking | Anissa Kheireddine Étienne Renault Souheib Baarir | Tuning SAT Solvers for LTL Model Checking | Proceedings of the 29th Asia-Pacific Software Engineering Conference (APSEC'22) | 9 December 2022 |
Towards Better Heuristics for Solving Bounded Model Checking Problems | Anissa Kheireddine Étienne Renault Souheib Baarir | Towards Better Heuristics for Solving Bounded Model Checking Problems | Constraints | 9 December 2022 |
Diversifying a Parallel SAT Solver with Bayesian Moment Matching | V Vallade S Nejati J Sopena V Ganesh S Baarir | Diversifying a Parallel SAT Solver with Bayesian Moment Matching | Symposium on Dependable Software Engineering TheoriesTools and Applications | 8 December 2022 |
Energy Problems in Finite and Timed Automata with Büchi Conditions | Sven Dziadek Uli Fahrenberg Philipp Schlehuber-Caissier | Energy Problems in Finite and Timed Automata with Büchi Conditions | International Symposium on Formal Methods (FM) | 8 December 2022 |
Introduction to the Special Issue on Distributed Hybrid Systems | Alessandro Abate Uli Fahrenberg FränzleMartin | Introduction to the Special Issue on Distributed Hybrid Systems | Leibniz Transactions on Embedded Systems | 8 December 2022 |
CosySEL: Improving SAT Solving Using Local Symmetries | S Saouli S Baarir C Dutheillet J Devriendt | CosySEL: Improving SAT Solving Using Local Symmetries | 24th International Conference on Verification, Model Checking, and Abstract Interpretation | 8 December 2022 |
Higher-Dimensional Timed and Hybrid Automata | Uli Fahrenberg | Higher-Dimensional Timed and Hybrid Automata | Leibniz Transactions on Embedded Systems | 8 December 2022 |
The Dahu Graph-Cut for Interactive Segmentation on 2D/3D Images | Minh Ôn Vũ Ngoc Edwin Carlinet Jonathan Fabrizio Thierry Géraud | The Dahu Graph-Cut for Interactive Segmentation on 2D/3D Images | Pattern Recognition | 3 December 2022 |
Featured Games | Uli Fahrenberg Axel Legay | Featured Games | Science of Computer Programming | 1 November 2022 |
In Pursuit of the Hidden Features of GNN's Internal Representations | Luca Veyrin-Forrer Ataollah Kamal Stefan Duffner Marc Plantevit Céline Robardet | In Pursuit of the Hidden Features of GNN's Internal Representations | Data & Knowledge Engineering | 26 October 2022 |
Topology-Aware Method to Segment 3D Plan Tissue Images | Minh Ôn Vũ Ngoc Nicolas Boutry Jonathan Fabrizio | Topology-Aware Method to Segment 3D Plan Tissue Images | 36th Conference on Neural Information Processing SystemsAI for Science Workshop | 25 October 2022 |
On GNN Explainability with Activation Rules | Luca Veyrin-Forrer Ataollah Kamal Marc Plantevit Céline Robardet DuffnerStefan | On GNN Explainability with Activation Rules | Data Mining and Knowledge Discovery | 20 October 2022 |
The Cost of Dynamism in Static Languages for Image Processing | Baptiste Esteban Edwin Carlinet Guillaume Tochon Didier Verna | The Cost of Dynamism in Static Languages for Image Processing | Proceedings 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 Processing | Michaël Roynard Edwin Carlinet Thierry Géraud | A Modern C++ Point of View of Programming in Image Processing | Proceedings 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 Sensor | Zhou Zhao Zhenyu Lu | Multi-purpose Tactile Perception Based on Deep Learning in a New Tendon-driven Optical Tactile Sensor | 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems | 1 October 2022 |
Discovering and Visualizing Tactics in Table Tennis Games Based on Subgroup Discovery | Pierre Duluard Xinqing Li Marc Plantevit Céline Robardet Romain Vuillemot | Discovering and Visualizing Tactics in Table Tennis Games Based on Subgroup Discovery | Machine Learning and Data Mining for Sports Analytics - 9th International Workshop, MLSA 2022 | 19 September 2022 |
Improving the Quality of Rule-Based GNN Explanations | Ataollah Kamal Elouan Vincent Marc Plantevit Céline Robardet | Improving the Quality of Rule-Based GNN Explanations | Workshop 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 I | 12 September 2022 |
A Kleene Theorem for Higher-Dimensional Automata | Uli Fahrenberg Christian Johansen Georg Struth Krzysztof Ziemiański | A Kleene Theorem for Higher-Dimensional Automata | 33rd 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 Map | Jim Newton | Comparing Use-Cases of Tree-Fold vs Fold-Left, How to Fold and Color a Map | Symposium on Implementation and Application of Functional Languages | 31 August 2022 |
Label-Efficient Self-Supervised Speaker Verification With Information Maximization and Contrastive Learning | Théo Lepage Réda Dehak | Label-Efficient Self-Supervised Speaker Verification With Information Maximization and Contrastive Learning | Proc. Interspeech 2022 | 28 August 2022 |
Using subgroup discovery to relate odor pleasantness and intensity to peripheral nervous system reactions | Maelle Moranges Marc Plantevit Moustafa Bensafi | Using subgroup discovery to relate odor pleasantness and intensity to peripheral nervous system reactions | IEEE Transactions on Affective Computing | 24 July 2022 |
What Does my GNN Really Capture? On Exploring Internal GNN Representations | Luca Veyrin-Forrer Ataollah Kamal Stefan Duffner Marc Plantevit Céline Robardet | What Does my GNN Really Capture? On Exploring Internal GNN Representations | International Joint Conference on Artificial Intelligence 2022 | 23 July 2022 |
On Robustness for the Skolem and Positivity Problems | S Akshay Hugo Bazille Blaise Genest Mihir Vahanwala | On Robustness for the Skolem and Positivity Problems | 39th International Symposium on Theoretical Aspects of Computer Science STACS | 7 July 2022 |
Posets With Interfaces as a Model for Concurrency | Uli Fahrenberg Christian Johansen Georg Struth Krzysztof Ziemiański | Posets With Interfaces as a Model for Concurrency | Information and Computation | 30 June 2022 |
Greibach normal form for ω-algebraic systems and weighted simple ω-pushdown automata | Manfred Droste Sven Dziadek Werner Kuich | Greibach normal form for ω-algebraic systems and weighted simple ω-pushdown automata | Information and Computation | 30 June 2022 |
Estimation de la fonction de niveau de bruit pour des images couleurs en utilisant la morphologie mathématique | Baptiste Esteban Guillaume Tochon Edwin Carlinet Didier Verna | Estimation de la fonction de niveau de bruit pour des images couleurs en utilisant la morphologie mathématique | 28e Colloque sur le traitement du signal et des images | 15 June 2022 |
Généricité dynamique pour des algorithmes morphologiques | Baptiste Esteban Edwin Carlinet Guillaume Tochon Didier Verna | Généricité dynamique pour des algorithmes morphologiques | 28e Colloque sur le traitement du signal et des images | 15 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 Dynamics | Nicolas Boutry Laurent Najman Thierry Géraud | Some Equivalence Relation between Persistent Homology and Morphological Dynamics | Journal of Mathematical Imaging and Vision | 17 May 2022 |
Effective Reductions of Mealy Machines | Florian Renkin Philipp Schlehuber-Caissier Alexandre Duret-Lutz Adrien Pommellet | Effective Reductions of Mealy Machines | Proceedings 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 invariance | Emmanuel Paviot-Adet Denis Poitrenaud Etienne Renault Yann Thierry-Mieg | LTL under reductions with weaker conditions than stutter invariance | Proceedings 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 statistics | Baptiste Esteban Guillaume Tochon Edwin Carlinet Didier Verna | Estimation of the noise level function for color images using mathematical morphology and non-parametric statistics | Proceedings of the 26th International Conference on Pattern Recognition | 8 April 2022 |
A Benchmark of Named Entity Recognition Approaches in Historical Documents | Nathalie Abadie Edwin Carlinet Joseph Chazalon Bertrand Duménieu | A Benchmark of Named Entity Recognition Approaches in Historical Documents | Proceedings of the 15th IAPR International Workshop on Document Analysis System | 7 April 2022 |
Learning Grayscale Mathematical Morphology with Smooth Morphological Layers | Romain Hermary Guillaume Tochon Élodie Puybareau Alexandre Kirszenberg Jesús Angulo | Learning Grayscale Mathematical Morphology with Smooth Morphological Layers | Journal of Mathematical Imaging and Vision | 4 April 2022 |
Qu'est-ce que mon GNN capture vraiment ? Exploration des représentations internes d'un GNN | Luca 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 GNN | Extraction et Gestion des Connaissances, EGC 2022Blois, France, 24 au 28 janvier 2022 | 24 March 2022 |
Local Intensity Order Transformation for Robust Curvilinear Object Segmentation | Tianyi Shi Nicolas Boutry Yongchao Xu Thierry Géraud | Local Intensity Order Transformation for Robust Curvilinear Object Segmentation | IEEE Transactions on Image Processing | 22 March 2022 |
Electricity Price Forecasting on the Day-Ahead Market using Machine Learning | Léonard Tschora Erwan Pierre Marc Plantevit Céline Robardet | Electricity Price Forecasting on the Day-Ahead Market using Machine Learning | Applied Energy | 10 March 2022 |
Max-Tree Computation on GPUs | Nicolas Blin Edwin Carlinet Florian Lemaitre Lionel Lacassagne Thierry Géraud | Max-Tree Computation on GPUs | IEEE Transactions on Parallel and Distributed Systems | 9 March 2022 |
ETAP: Experimental Typesetting Algorithms Platform | Didier Verna | ETAP: Experimental Typesetting Algorithms Platform | 15th European Lisp Symposium | 1 March 2022 |
... further results |
Journals
Author | Title | Published in | Date | |
---|---|---|---|---|
A Theoretical and Numerical Analysis of the Worst-Case Size of Reduced Ordered Binary Decision Diagrams | Jim Newton Didier Verna | A Theoretical and Numerical Analysis of the Worst-Case Size of Reduced Ordered Binary Decision Diagrams | ACM Transactions on Computational Logic | 28 August 2018 |
Lisp, Jazz, Aikido | Didier Verna | Lisp, Jazz, Aikido | The Art, Science and Engineering of Programming Journal | 5 February 2018 |
Revisiting the Visitor: the Just Do It Pattern | Didier Verna | Revisiting the Visitor: the Just Do It Pattern | Journal of Universal Computer Science | 1 January 2010 |
Binary Methods Programming: the CLOS Perspective (extended version) | Didier Verna | Binary Methods Programming: the CLOS Perspective (extended version) | Journal of Universal Computer Science | 1 January 2008 |
How to make Lisp go faster than C | Didier Verna | How to make Lisp go faster than C | IAENG International Journal of Computer Science | 1 December 2006 |
Book chapters
Author | Title | Published in | Date | |
---|---|---|---|---|
Extensible languages: blurring the distinction between DSLs and GPLs | Didier Verna | Extensible languages: blurring the distinction between DSLs and GPLs | Formal and Practical Aspects of Domain-Specific Languages: Recent Developments | 1 September 2012 |