1 |
Débogage symbolique multi-langages pour les plates-formes d'exécution généralistesCiabrini, Damien 03 October 2006 (has links) (PDF)
Cette thèse est consacrée à l'amélioration des débogueurs symboliques pour tenir compte des spécificités des langages de haut niveau, notamment leur compilation délicate vers des plates-formes d'exécution généralistes. Ces travaux ont conduit à la réalisation de Bugloo, un débogueur multi-langages pour la machine virtuelle Java. <br /><br />Deux nouveaux mécanismes de représentations virtuelles sont proposés pour éliminer les perturbations de débogage dues à la présence sur la pile de fonctions intermédiaires produites par la compilation des langages de haut niveau. Le premier utilise des règles fournies par les implanteurs de langage pour maintenir une correspondance entre le code source d'un programme et le code produit par sa compilation. Cela permet au débogueur de reconstruire une vue logique dans laquelle les détails de compilation ont été expurgés. Le second mécanisme sert à contrôler l'exécution pas-à-pas, afin de ne jamais s'arrêter dans les fonctions intermédiaires engendrées par le compilateur. Ces deux mécanismes ont été adaptés pour réaliser un profileur d'allocation mémoire produisant des statistiques dans lesquelles les fonctions intermédiaires sont masquées. <br /><br />Durant ces travaux, un support de débogage complet a été développé pour le langage Bigloo, un dialecte du langage fonctionnel Scheme. Des expérimentations similaires ont étés menées sur les langages ECMAScript et Python. Les résultats obtenus montrent que les techniques de représentations virtuelles développées s'appliquent efficacement quel que soit le schéma de compilation adopté, y compris lorsque les programmes sont composés de plusieurs langages de haut niveau.
|
2 |
Běhové ověřování kontraktů pro soukromí a bezpečnost v dynamických architekturách / Runtime Checking of Privacy and Security Contracts in Dynamic ArchitecturesKliber, Filip January 2018 (has links)
Important aspects of the IoT concept include privacy and security. There are various examples from the past, where implementation of security was insuffi- cient, which allowed hackers to gain unauthorized access to tens of thousands of everyday objects connected to the Internet and abuse this power to par- alyze the communication over the Internet. In this thesis we designed and implemented the Glinior tool that allows to define the contracts between objects or components in the application, and ensures that the communi- cation between specified objects or components happens according to those contracts. The Glinior tool uses techniques of dynamic analysis to verify contracts defined by the user. This is done by using the JVMTI framework with combination of the ASM library for bytecode manipulation.
|
Page generated in 0.0168 seconds