• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 18
  • 2
  • 1
  • 1
  • 1
  • Tagged with
  • 29
  • 29
  • 29
  • 7
  • 6
  • 6
  • 5
  • 4
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • 3
  • 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.
21

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.
22

Toward harnessing a Java high-level language virtual machine for supporting software testing / Utilizando uma máquina virtual Java como apoio à atividade de teste de software

Durelli, Vinicius Humberto Serapilha 01 October 2013 (has links)
High-level language virtual machines (HLL VMs) have been playing a key role as a mechanism for implementing programming languages. Languages that run on these execution environments have many advantages over languages that are compiled to native code. These advantages have led HLL VMs to gain broad acceptance in both academy and industry. However, much of the research in this area has been devoted to boosting the performance of these execution environments. Few eorts have attempted to introduce features that automate or facilitate some software engineering activities, including software testing. This research argues that HLL VMs provide a reasonable basis for building an integrated software testing environment. To this end, two software testing features that build on the characteristics of a Java virtual machine (JVM) were devised. The purpose of the rst feature is to automate weak mutation. Augmented with mutation support, the chosen JVM achieved speedups of as much as 95% in comparison to a strong mutation tool. To support the testing of concurrent programs, the second feature is concerned with enabling the deterministic re-execution of Java programs and exploration of new scheduling sequences / Máquinas virtuais de linguagens de programação têm desempenhado um papel importante como mecanismo para a implementação de linguagens de programação. Linguagens voltadas para esses ambientes de execução possuem várias vantagens em relação às linguagens compiladas. Essas vantagens fizeram com que tais ambientes de execução se tornassem amplamente utilizados pela indústria e academia. Entretanto, a maioria dos estudos nessa area têm se dedicado a aprimorar o desempenho desses ambientes de execução e poucos têm enfocado o desenvolvimento de funcionalidades que automatizem ou facilitem a condução de atividades de engenharia de software, incluindo atividades de teste de software. Este trabalho apresenta indícios de que máquinas virtuais de linguagens de programação podem apoiar a criação de ambientes de teste de software integrado. Para tal, duas funcionalidades que tiram proveito das características de uma máquina virtual Java foram desenvolvidas. O propósito da primeira funcionalidade e automatizar a condução de atividades de mutação fraca. Após a implementação de tal funcionalidade na máquina virtual Java selecionada, observou-se um desempenho até 95% melhor em relação a uma ferramenta de mutação forte. Afim de apoiar o teste de programas concorrentes, a segunda funcionalidade permite reexecutá-los de forma determinística além de automatizar a exploração de que novas sequências de escalonamento
23

Ein Beitrag zur Problematik der Integration virtueller Maschinen / A contribution to the problem of integrating virtual machines

Kugel, Rudolf January 2005 (has links)
Moderne Softwaresysteme sind komplexe Gebilde, welche häufig im Verbund mit anderen technischen und betriebswirtschaftlichen Systemen eingesetzt werden. Für die Hersteller solcher Systeme stellt es oft eine große Herausforderung dar, den oft weit reichenden Anforderungen bezüglich der Anpassbarkeit solcher Systeme gerecht zu werden. Zur Erfüllung dieser Anforderungen hat es sich vielfach bewährt, eine virtuelle Maschine in das betreffende System zu integrieren. <br><br> Die Dissertation richtet sich insbesondere an Personen, die vor der Aufgabe der Integration virtueller Maschinen in bestehende Systeme stehen und zielt darauf ab, solche für die Entscheidung über Integrationsfragen wichtigen Zusammenhänge klar darzustellen. <br><br> Typischerweise treten bei der Integration einer virtuellen Maschine in ein System eine Reihe unterschiedlicher Problemstellungen auf. Da diese Problemstellungen oft eng miteinander verzahnt sind, ist eine isolierte Betrachtung meist nicht sinnvoll. Daher werden die Problemstellungen anhand eines zentral gewählten, sehr umfangreichen Beispiels aus der industriellen Praxis eingeführt. Dieses Beispiel hat die Integration der "Java Virtual Machine" in den SAP R/3 Application Server zum Gegenstand. Im Anschluss an dieses Praxisbeispiel wird die Diskussion der Integrationsproblematik unter Bezug auf eine Auswahl weiterer, in der Literatur beschriebener Integrationsbeispiele vertieft. <br><br> Das Hauptproblem bei der Behandlung der Integrationsproblematik bestand darin, dass die vorgefundenen Beschreibungen, der als Beispiel herangezogenen Systeme, nur bedingt als Basis für die Auseinandersetzung mit der Integrationsproblematik geeignet waren. Zur Schaffung einer verwertbaren Diskussionsgrundlage war es daher erforderlich, eine homogene, durchgängige Modellierung dieser Systeme vorzunehmen. Die Modellierung der Systeme erfolgte dabei unter Verwendung der "Fundamental Modeling Concepts (FMC)". Die erstellten Modelle sowie die auf Basis dieser Modelle durchgeführte Gegenüberstellung der unterschiedlichen Ansätze zur LÖsung typischer Integrationsprobleme bilden den Hauptbeitrag der Dissertation. <br><br> Im Zusammenhang mit der Integration virtueller Maschinen in bestehende Systeme besteht häufig der Bedarf, zeitgleich mehrere "Programme" durch die integrierte virtuelle Maschine ausführen zu lassen. Angesichts der Konstruktionsmerkmale vieler heute verbreiteter virtueller Maschinen stellt die Realisierung eines "betriebsmittelschonenden Mehrprogrammbetriebs" eine große Herausforderung dar. Die Darstellung des Spektrums an Maßnahmen zur Realisierung eines "betriebsmittelschonenden Mehrprogrammbetriebs" bildet einen zweiten wesentlichen Beitrag der Dissertation. / Modern software systems are complex entities which are frequently linked to other technical and economic systems. For the manufacturers of such systems it often represents a big challenge to fulfill the demanding requirements concerning the adaptability of such systems. One possible way to meet the demands is to integrate a virtual machine into the system concerned. <br><br> This thesis is primarily intended to be used by persons who intend to integrate a virtual machine into an existing system. The primary goal is to pinpoint those dependencies which are important for decisions about integration questions. <br><br> The integration of a virtual machine into an existing system is typically accompanied by many different problems. Since these problems are often closely interconnected, it often makes no sense to treat them individually. Therefore, the problems are introduced along with an adequately chosen, complex real life example. This example deals with the integration of the "Java Virtual Machine" into the "SAP R/3" application server. Following this practical example, the discussion of integration problems is deepened by presenting an assortment of additional examples taken from the literature. <br><br> The main problem encountered during the treatment of the integration process was caused by inadequate and incomparable descriptions of the samples used. The existing descriptions were therefore unsuitable as a basis of discussion for the integration topic. For a useful discussion, it was necessary to prepare a uniform and sound modeling of these systems. This was done by adopting the "Fundamental Modeling Concepts (FMC)" technique. The created models as well as the comparison of the different approaches that can be used to solve typical integration problems form the main contribution of the thesis. <br><br> The integration of virtual machines into existing systems is frequently accompanied by the requirement to have the integrated virtual machine process several "programs" simultaneously. In view of the design features of many common virtual machines, the realization of a virtual machine integration that allows the integrated virtual machine to be operated in "multiprogram" mode is still challenging. The most challenging task in this context is the problem of keeping the resource usage of the system at a tolerable level. A comparison of measures that can be taken to reduce the resource usage of an integrated virtual machine that can be operated in "multiprogram" mode forms a second essential contribution of the thesis.
24

Virtual machine support for aspect-oriented programming languages

Haupt, Michael. Unknown Date (has links)
Techn. University, Diss., 2005--Darmstadt.
25

Toward harnessing a Java high-level language virtual machine for supporting software testing / Utilizando uma máquina virtual Java como apoio à atividade de teste de software

Vinicius Humberto Serapilha Durelli 01 October 2013 (has links)
High-level language virtual machines (HLL VMs) have been playing a key role as a mechanism for implementing programming languages. Languages that run on these execution environments have many advantages over languages that are compiled to native code. These advantages have led HLL VMs to gain broad acceptance in both academy and industry. However, much of the research in this area has been devoted to boosting the performance of these execution environments. Few eorts have attempted to introduce features that automate or facilitate some software engineering activities, including software testing. This research argues that HLL VMs provide a reasonable basis for building an integrated software testing environment. To this end, two software testing features that build on the characteristics of a Java virtual machine (JVM) were devised. The purpose of the rst feature is to automate weak mutation. Augmented with mutation support, the chosen JVM achieved speedups of as much as 95% in comparison to a strong mutation tool. To support the testing of concurrent programs, the second feature is concerned with enabling the deterministic re-execution of Java programs and exploration of new scheduling sequences / Máquinas virtuais de linguagens de programação têm desempenhado um papel importante como mecanismo para a implementação de linguagens de programação. Linguagens voltadas para esses ambientes de execução possuem várias vantagens em relação às linguagens compiladas. Essas vantagens fizeram com que tais ambientes de execução se tornassem amplamente utilizados pela indústria e academia. Entretanto, a maioria dos estudos nessa area têm se dedicado a aprimorar o desempenho desses ambientes de execução e poucos têm enfocado o desenvolvimento de funcionalidades que automatizem ou facilitem a condução de atividades de engenharia de software, incluindo atividades de teste de software. Este trabalho apresenta indícios de que máquinas virtuais de linguagens de programação podem apoiar a criação de ambientes de teste de software integrado. Para tal, duas funcionalidades que tiram proveito das características de uma máquina virtual Java foram desenvolvidas. O propósito da primeira funcionalidade e automatizar a condução de atividades de mutação fraca. Após a implementação de tal funcionalidade na máquina virtual Java selecionada, observou-se um desempenho até 95% melhor em relação a uma ferramenta de mutação forte. Afim de apoiar o teste de programas concorrentes, a segunda funcionalidade permite reexecutá-los de forma determinística além de automatizar a exploração de que novas sequências de escalonamento
26

Just-in-time kompilace závisle typovaného lambda kalkulu / Just-in-Time Compilation of Dependently-Typed Lambda Calculus

Zárybnický, Jakub January 2021 (has links)
Řada programovacích jazyků byla schopna zvýšit svoji rychlost výměnou běhových systémů stavěných na míru za obecné platformy, které pro optimalizaci používají just-in-time překlad, jako jsou GraalVM nebo RPython. V této práci vyhodnocuji, zda je použití takovýchto platforem vhodné i pro jazyky se závislymi typy nebo důkazovými systémy. Tato práce představuje koncepty -kalkulu a teorie typů potřebné pro úvod do závislých typů s relevantními algoritmy, specifikuje malý závisle typovaný jazyk založený na $\lambda\Pi$ kalkulu, a prezentuje dva interpretery tohoto jazyka. Tyto interpretery jsou psané v jazyce Kotlin, první je jednoduchý, psaný ve funkcionálním stylu a druhý používá platformu GraalVM a Truffle. GraalVM je platforma založená na virtuálním stroji Javy (JVM), která přidává just-in-time překladač založený na částečném vyhodnocení (partial evaluation) a Truffle je knihovna pro tvorbu programovacích jazyků využívající tento překladač. Závěr práce vyhodnocuje běhové charakteristiky těchto interpreterů na různých zátěžových testech.Závěry práce jsou ale silně negativní. Vliv JIT překladu není znatelný ani přes snahu optimalizovat běžné algoritmy z teorie typů, které jsou zjevně nevhodné pro platformu JVM. Práce končí návrhy několika navazujících projektů, které by lépe využily možnosti Truffle a které by byly vhodnější pro implementaci závisle typovaných jazyků.
27

Persistent memory and orthogonal persistence : a persistent heap design and its implementation for the Java virtual machine / Mem?ria persistente e persist?ncia ortogonal : um projeto heap persistente e sua implementa??o para a m?quina virtual Java

Perez, Taciano Dreckmann 03 May 2017 (has links)
Submitted by Caroline Xavier (caroline.xavier@pucrs.br) on 2017-07-03T15:03:25Z No. of bitstreams: 1 TES_TACIANO_DRECKMANN_PEREZ_COMPLETO.pdf: 1779781 bytes, checksum: 2111ccea963be0eea76bdbb7d24321d9 (MD5) / Made available in DSpace on 2017-07-03T15:03:25Z (GMT). No. of bitstreams: 1 TES_TACIANO_DRECKMANN_PEREZ_COMPLETO.pdf: 1779781 bytes, checksum: 2111ccea963be0eea76bdbb7d24321d9 (MD5) Previous issue date: 2017-05-03 / Sistemas computacionais da atualidade tradicionalmente separam mem?ria e armazenamento. Linguagens de programa??o tipicamente refletem essa distin??o usando diferentes representa??es para dados em mem?ria (ex. estruturas de dados, objetos) e armazenamento (ex. arquivos, bancos de dados). A movimenta??o de dados entre esses dois n?veis e representa??es, bidirecionalmente, compromete tanto a efici?ncia do programador quanto de execu??o dos programas. Tecnologias recentes de memoria n?o-vol?til, tais como mem?ria de transi??o de fase, resistiva e magnetoresistiva, possibilitam combinar mem?ria principal e armazenamento em uma ?nica entidade de mem?ria persistente, abrindo caminho para abstra??es mais eficientes para lidar com persist?ncia de dados. Essa tese de doutorado introduz uma abordagem de projeto para o ambiente de execu??o de linguagens com ger?ncia autom?tica de mem?ria, baseado numa combina??o original de persist?ncia ortogonal, programa??o para mem?ria persistente, persist?ncia por alcance, e transa??es com atomicidade em caso de falha. Esta abordagem pode melhorar significativamente a produtividade do programador e a efici?ncia de execu??o dos programas, uma vez que estruturas de dados em mem?ria passam a ser persistentes de forma transparente, sem a necessidade de programar explicitamente o armazenamento, e removendo a necessidade de cruzar fronteiras sem?nticas. De forma a validar e demonstrar a abordagem proposta, esse trabalho tamb?m apresenta JaphaVM, a primeira M?quina Virtual Java especificamente projetada para mem?ria persistente. Resultados experimentais usando benchmarks e aplica??es reais demonstram que a JaphaVM, na maioria dos casos, executa as mesmas opera??es cerca de uma a duas ordens de magnitude mais rapidamente do que implementa??es equivalentes usando bancos de dados ou arquivos, e, ao mesmo tempo, requer significativamente menos linhas de c?digo. / Current computer systems separate main memory from storage. Programming languages typically reflect this distinction using different representations for data in memory (e.g. data structures, objects) and storage (e.g. files, databases). Moving data back and forth between these different layers and representations compromise both programming and execution efficiency. Recent nonvolatile memory technologies, such as Phase-Change Memory, Resistive RAM, and Magnetoresistive RAM make it possible to collapse main memory and storage into a single layer of persistent memory, opening the way for simpler and more efficient programming abstractions for handling persistence. This Ph.D. thesis introduces a design for the runtime environment for languages with automatic memory management, based on an original combination of orthogonal persistence, persistent memory programming, persistence by reachability, and lock-based failure-atomic transactions. Such design can significantly increase programming and execution efficiency, as in-memory data structures are transparently persistent, without the need for programmatic persistence handling, and removing the need for crossing semantic boundaries. In order to validate and demonstrate the proposed concepts, this work also presents JaphaVM, the first Java Virtual Machine specifically designed for persistent memory. In experimental results using benchmarks and real-world applications, JaphaVM in most cases executed the same operations between one and two orders of magnitude faster than database- and file-based implementations, while requiring significantly less lines of code.
28

Emulátor byte kódu jazyka Java vhodný pro detekci a analýzu malware / Java Byte Code Emulator Suitable for Malware Detection and Analysis

Kubernát, Tomáš January 2013 (has links)
The goal of this thesis is to create a virtual machine that emulates a running programs written in Java programing language, which would be suitable for malware analysis and detection. The emulator is able to detect arguments of exploitable methods from Java standard classes, the order of calling these exploitable methods and also execution the test application. Overall functionality was tested on appropriate examples in which held its own measurements. At the end of the paper we describe testing of the emulator, which also contains tables and graphs for better results visualization.
29

Verifikace metadat zvukových záznamů / Vefication of Metadata for Sound Recordings

Přerovský, Petr January 2012 (has links)
The work deals with verification of the metadata of audio recordings in an environment of mobile phones running Android. The text work is divided into three main parts. The first part is focused more on theoretical basis, where the main emphasis on the description of Android, application structure, description of the audio MP3 file and theoretical basis of Fourier transform in signal processing. The second part is devoted to solution design, analysis and implementation. The third part deals with testing.

Page generated in 0.0438 seconds