Papers by Basile Starynkevitch

Cognition Enabled IoT Platform for Industrial IoT Safety, Security and Privacy — The CHARIOT Project
The CHARIOT project is developing an innovative design method and cognitive platform that support... more The CHARIOT project is developing an innovative design method and cognitive platform that supports a unified and integrated approach towards Data Privacy, Security and Safety of Industrial IoT Systems including several technologies. These include: i) an advanced Privacy and security protection building on state of the art Public Key Infrastructure (PKI) technologies, ii) a blockchain ledger that provides categorization and affirmation of IoT physical, operational and functional changes, iii) a FOG-based decentralized infrastructure for Firmware Security integrity, iv) an IoT Safety Supervision Engine towards securing IoT data, devices and functionality in new and existing industry-specific safety critical systems, v) a cognitive System and Method with accompanying supervision, analytics and prediction models enabling high security and integrity of Industrials IoT as well as vi) new methods and tools for static code analysis of IoT devices. This short paper provides an overview of the above technologies as currently being integrated in the CHARIOT project.
HAL (Le Centre pour la Communication Scientifique Directe), Apr 26, 2002
These proceedings contain selected papers from the Artificial Intelligence Workshop that was held... more These proceedings contain selected papers from the Artificial Intelligence Workshop that was held September, 19-21 2001, on Berder island. It is a summary of the LIP6 Meta-knowledge Group work in 2001.
Colloque Metaconnaissance de Berder, 19-21 septembre 2001

arXiv (Cornell University), Sep 1, 2011
The GCC free compiler is a very large software, compiling source in several languages for many ta... more The GCC free compiler is a very large software, compiling source in several languages for many targets on various systems. It can be extended by plugins, which may take advantage of its power to provide extra specific functionality (warnings, optimizations, source refactoring or navigation) by processing various GCC internal representations (Gimple, Tree, ...). Writing plugins in C is a complex and time-consuming task, but customizing GCC by using an existing scripting language inside is impractical. We describe MELT, a specific Lisp-like DSL which fits well into existing GCC technology and offers high-level features (functional, object or reflexive programming, pattern matching). MELT is translated to C fitted for GCC internals and provides various features to facilitate this. This work shows that even huge, legacy, software can be a posteriori extended by specifically tailored and translated high-level DSLs. 1 Gnu Compiler Collection (gcc 4.6.0 released on march 25 th 2011) on gcc.gnu.org 2 4.296 Millions Lines Of source Code, measured with David Wheeler's SLOCCount. Most other tools give bigger code measures, e.g., ohcount gives 8.370MLOC of source, with 5.477MLOC of code and 1.689MLOC of comments. 3 GCC 4.4.1, released July 22 th , 2009, was 3.884MLOC, so a 0.412MLOC = 10.6% increase in 1.67 years 4 Every submitted code patch should be accepted by a code reviewer who cannot be the author of the patch, but there is no project leader or head architect, like Linus Torvalds is for the Linux kernel. So GCC has not a clean, well-designed, architecture. 5 The GCC middle-end does not depend upon the source language or the target processor (except with parameters giving sizeof(int) etc.).

Expliciter et utiliser les donnees et le controle pour les connaissances par des metaconnaissances : systemes eum1 et eum2
Un systeme qui explicite ses structures de donnees et ses mecanismes de controle peut ainsi s'... more Un systeme qui explicite ses structures de donnees et ses mecanismes de controle peut ainsi s'appliquer a lui-meme (donc etre reflexif). Il peut alors par introspection detecter certaines de ses anomalies. Les contextes d'execution, ne s'organisent pas en pile, mais constituent une arborescence, permettant des primitives de controle plus generales (iterateurs, agendas. . . ). Un tel systeme pourrait prefigurer les outils futurs pour le developpement de grosses bases de connaissances (centaines de milliers d'objets). Des metaconnaissances explicitant le savoir-faire du programmeur doivent lui etre fournies. L'ensemble des fonctionnalites du systeme (editeur, base de donnees persistantes, compilateur) sont baties sur des connaissances explicites (procedurales ou declaratives), a l'intersection du genie logiciel et de l'intelligence artificielle. Un premier prototype, eum1, a ete realise sur la reflexivite interpretative. Son successeur, eum2, permettant de plus la reflexivite compilatoire, est ebauche
Intelligent use of knowledge in the EUM system
These proceedings contain selected papers from the Artificial Intelligence Workshop that was held... more These proceedings contain selected papers from the Artificial Intelligence Workshop that was held September, 19-21 2001, on Berder island. It is a summary of the LIP6 Meta-knowledge Group work in 2001.
Colloque Metaconnaissance de Berder, 19-21 septembre 2001
Colloque Metaconnaissance de Berder, Apr 26, 2002
an extensible programming language Presented by Luca Saiu to be defended in public on November 19... more an extensible programming language Presented by Luca Saiu to be defended in public on November 19th 2012

The GCC free compiler is a very large software, compiling source in several languages for many ta... more The GCC free compiler is a very large software, compiling source in several languages for many targets on various systems. It can be extended by plugins, which may take advantage of its power to provide extra specific functionality (warnings, optimizations, source refactoring or navigation) by processing various GCC internal representations (Gimple, Tree,...). Writing plugins in C is a complex and time-consuming task, but customizing GCC by using an existing scripting language inside is impractical. We describe MELT, a specific Lisp-like DSL which fits well into existing GCC technology and offers high-level features (functional, object or reflexive programming, pattern matching). MELT is translated to C fitted for GCC internals and provides various features to facilitate this. This work shows that even huge, legacy, software can be a posteriori extended by specifically tailored and translated high-level DSLs. 1

The GCC free compiler is a very large software, compiling source in several languages for many ta... more The GCC free compiler is a very large software, compiling source in several languages for many targets on various systems. It can be extended by plugins, which may take advantage of its power to provide extra specific functionality (warnings, optimizations, source refactoring or navigation) by processing various GCC internal representations (Gimple, Tree,...). Writing plugins in C is a complex and time-consuming task, but customizing GCC by using an existing scripting language inside is impractical. We describe MELT, a specific Lisp-like DSL which fits well into existing GCC technology and offers high-level features (functional, object or reflexive programming, pattern matching). MELT is translated to C fitted for GCC internals and provides various features to facilitate this. This work shows that even huge, legacy, software can be a posteriori extended by specifically tailored and translated high-level DSLs. 1
Abstract. Some extensions of GCC, like those for static analysis, cannot easily be coded in C. A ... more Abstract. Some extensions of GCC, like those for static analysis, cannot easily be coded in C. A Lisp-like dialect has been designed and implemented (as a translator to C) to fit well into the GCC middle-end. We give key language features, and improvements.We describe the design of its runtime system fitting into GGC. Idioms to interoperate with the evolving GCC internal API are explained. 1 Introduction and
Some extensions of GCC, like those for static analysis, cannot easily be coded in C. A Lisp-like ... more Some extensions of GCC, like those for static analysis, cannot easily be coded in C. A Lisp-like dialect has been designed and implemented (as a translator to C) to fit well into the GCC middle-end. We give key language features, and improvements.We describe the design of its runtime system fitting into GGC. Idioms to interoperate with the evolving GCC internal API are explained.
The CHARIOT H2020 (IoT) project (Cognitive Heterogeneous Architecture for Industrial IoT), integr... more The CHARIOT H2020 (IoT) project (Cognitive Heterogeneous Architecture for Industrial IoT), integrates a stateof-the-art inclusive solution for the security, safety and privacy assurance of data in industrial networks. The solution is based on an integrated approach for IoT devices lifecycle management (based on blockchain and public key infrastructure technologies), IoT firmware development and deployment (source and binary level vulnerability analyses), data analytics (privacy by design, sensitive data detection, dynamic network configurations etc.) and a set of user interfaces for management and control of the network, devices and the CHARIOT platform. CHARIOT is funded by the H2020 programme under the IoT topic, has a 3-year duration and concludes its activities by the end of 2020. Keywords— IoT, industrial data, security, privacy, safety

The chapter presents an overview of the eight that are part of the European IoT Security and Priv... more The chapter presents an overview of the eight that are part of the European IoT Security and Privacy Projects initiative (IoT-ESP) addressing advanced concepts for end-to-end security in highly distributed, heterogeneous and dynamic IoT environments. The approaches presented are holistic and include identification and authentication, data protection and prevention against cyber-attacks at the device and system levels. The projects present architectures, concepts, methods and tools for open IoT platforms integrating evolving sensing, actuating, energy harvesting, networking and interface technologies. Platforms should provide connectivity and intelligence, actuation and control features, linkage to modular and ad-hoc cloud services, The IoT platforms used are compatible with existing international developments addressing object identity management, discovery services, virtualisation of objects, devices and infrastructures and trusted IoT approaches.

We describe ongoing work about global static analysis for GCC4 within the GlobalGCC European proj... more We describe ongoing work about global static analysis for GCC4 within the GlobalGCC European project, funded thru the ITEA Programme. The aim of this work is to provide global (whole program) static analysis, notably based upon abstract interpretation and knowledge based techniques, within the GCC compiler, targeted for analysis of medium sized C, Fortran or C++ programs. This will facilitate the adoption of GCC in the area of safetycritical software development, by providing features found in a few expensive commercial tools (PolySpace, AbsInt) or research prototypes (Astree). In this perspective, the emphasis is on the quality of analysis, at the expense of much bigger compilation times, without sacrificing scalability. Such analysis can be used for several purposes: statically compute some interesting properties of the program at most control points (possibly reporting them the user); provide clever, contextual, warnings about possible hazards in the user program (null pointer de...
11. Firmware Software Analysis at Source Code and Binary Levels

Expliciter et utiliser les donnees et le controle pour les connaissances par des metaconnaissances : systemes eum1 et eum2
Un systeme qui explicite ses structures de donnees et ses mecanismes de controle peut ainsi s'... more Un systeme qui explicite ses structures de donnees et ses mecanismes de controle peut ainsi s'appliquer a lui-meme (donc etre reflexif). Il peut alors par introspection detecter certaines de ses anomalies. Les contextes d'execution, ne s'organisent pas en pile, mais constituent une arborescence, permettant des primitives de controle plus generales (iterateurs, agendas. . . ). Un tel systeme pourrait prefigurer les outils futurs pour le developpement de grosses bases de connaissances (centaines de milliers d'objets). Des metaconnaissances explicitant le savoir-faire du programmeur doivent lui etre fournies. L'ensemble des fonctionnalites du systeme (editeur, base de donnees persistantes, compilateur) sont baties sur des connaissances explicites (procedurales ou declaratives), a l'intersection du genie logiciel et de l'intelligence artificielle. Un premier prototype, eum1, a ete realise sur la reflexivite interpretative. Son successeur, eum2, permettant de ...
Cognition Enabled IoT Platform for Industrial IoT Safety, Security and Privacy — The CHARIOT Project
2019 IEEE 24th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD)
Uploads
Papers by Basile Starynkevitch