• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • Tagged with
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Prévention de déréférencements de nul

Gélinas, Jean-Sébastien 06 1900 (has links) (PDF)
La bonne gestion des déréférencements de nul dans les langages à objets statiquement typés est un problème complexe qui est loin d'être nouveau. Plusieurs approches existent, mais aucune n'est parfaite. Les diverses solutions au déréférencement de nul se partagent trois dimensions : (1) la simplicité, (2) l'exactitude des résultats et (3) le typage statique. Présentement, à notre connaissance, aucune solution ne présente ces trois dimensions. Un des problèmes majeurs de la gestion des déréférencements de nul est la gestion des attributs, notamment lors de l'instantiation des objets. L'approche que nous présentons ici pour gérer les déréférencements de nul est une approche (1) simple et (2) exacte. Bien que notre approche présente un composant de typage statique, nous ajoutons aussi des tests dynamiques pour la compléter, ce qui fait qu'elle ne respecte pas totalement les trois dimensions. Nous introduisons aussi des analyses statiques pour détecter l'initialisation d'attributs dans les constructeurs pour ensuite, à l'aide d'optimisations, supprimer les tests dynamiques que nous avons ajoutés à la phase précédente. Pour un programme de grande taille (110.000 lignes de code), nous parvenons, avec nos analyses et nos optimisations, à supprimer 100% des tests dynamiques que nous avions introduits, tout en garantissant de façon statique qu'aucune erreur en lien avec le déréférencement de nul ne pourra se produire lors de l'exécution du programme. En conséquence, notre solution améliorée par les analyses statiques proposées permet de présenter les trois dimensions recherchées pour un sous-ensemble des programmes, ce qui fait un compromis très intéressant. ______________________________________________________________________________ MOTS-CLÉS DE L’AUTEUR : compilation, analyse statique, optimisation, types nullables, validation d'attributs, Nit
2

The Usefulness of Programming Languages Beyond Java

Jonsson, Alexander January 2019 (has links)
Beyond Java, new programming languages running on the Java virtual machine (JVM) have been developed, such as Kotlin, Scala, JRuby and Clojure amongst others. Since all those languages compile to Java bytecode, they should theoretically be able to be used together in a project. This paper investigates if it is possible and what benefits it gives using those programming languages together in a project. The languages chosen to be used together were Jython, Scala and Kotlin. An experiment was conducted where in a single project, each programming language was assigned a problem to be solved. The experiment was then conducted in two iterations where in each iteration, the problems to be solved was assigned to a different programming language. From the experiment it was shown that using those languages together in a project was possible but resulted in some complications needed to be solved. It was also shown that the following division amongst the languages worked best in the present use case: Jython for graphical handling, Scala for calculating and computing and Kotlin for data-handling.

Page generated in 0.0479 seconds