Vroom: Faster Build Processes for Java.

Saved in:
Bibliographic Details
Title: Vroom: Faster Build Processes for Java.
Authors: Bell, Jonathan1, Melski, Eric2, Dattatreya, Mohan2, Kaiser, Gail E.1
Source: IEEE Software. Mar2015, Vol. 32 Issue 2, p97-104. 8p. 1 Diagram, 1 Chart, 1 Graph.
Subjects: Java programming language, Computers testing, Virtual machine systems, Computer science, Just-in-time systems
Abstract: Build processes are too slow. Because most of the build time for Java projects is spent executing tests, researchers have focused on speeding up testing. They've integrated two complementary approaches into a system that seamlessly supports Ant and Maven JUnit build processes. The first approach, unit test virtualization, isolates in-memory dependencies among test cases, which otherwise are isolated inefficiently by restarting the Java Virtual Machine (JVM) before every test. The system supports just-in-time reinitialization of only the small portion of memory needed by the next test, reusing a single JVM. The implementation of this approach is called VMVM (Virtual Machine in the Virtual Machine, pronounced "vroom vroom"). In addition, simple setup and tear-down resource management methods designed for sequential execution lead to conflicts when the resources are accessed concurrently. So, the second approach, virtualized unit test virtualization, isolates external dependencies such as files and network ports while long-running tests execute in parallel. For this, the system distributes testing jobs in round-robin manner among OS-level virtual machines. The result is, on average, a 51 percent speedup of application build times. The implementation of this approach is called VMVMVM (Virtual Machine in a Virtual Machine on a Virtual Machine "vroom vroom vroom"). [ABSTRACT FROM PUBLISHER]
Copyright of IEEE Software is the property of IEEE Computer Society and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 101591406
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Vroom: Faster Build Processes for Java.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Bell%2C+Jonathan%22">Bell, Jonathan</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Melski%2C+Eric%22">Melski, Eric</searchLink><relatesTo>2</relatesTo><br /><searchLink fieldCode="AR" term="%22Dattatreya%2C+Mohan%22">Dattatreya, Mohan</searchLink><relatesTo>2</relatesTo><br /><searchLink fieldCode="AR" term="%22Kaiser%2C+Gail+E%2E%22">Kaiser, Gail E.</searchLink><relatesTo>1</relatesTo>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22IEEE+Software%22">IEEE Software</searchLink>. Mar2015, Vol. 32 Issue 2, p97-104. 8p. 1 Diagram, 1 Chart, 1 Graph.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Java+programming+language%22">Java programming language</searchLink><br /><searchLink fieldCode="DE" term="%22Computers+testing%22">Computers testing</searchLink><br /><searchLink fieldCode="DE" term="%22Virtual+machine+systems%22">Virtual machine systems</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+science%22">Computer science</searchLink><br /><searchLink fieldCode="DE" term="%22Just-in-time+systems%22">Just-in-time systems</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Build processes are too slow. Because most of the build time for Java projects is spent executing tests, researchers have focused on speeding up testing. They've integrated two complementary approaches into a system that seamlessly supports Ant and Maven JUnit build processes. The first approach, unit test virtualization, isolates in-memory dependencies among test cases, which otherwise are isolated inefficiently by restarting the Java Virtual Machine (JVM) before every test. The system supports just-in-time reinitialization of only the small portion of memory needed by the next test, reusing a single JVM. The implementation of this approach is called VMVM (Virtual Machine in the Virtual Machine, pronounced "vroom vroom"). In addition, simple setup and tear-down resource management methods designed for sequential execution lead to conflicts when the resources are accessed concurrently. So, the second approach, virtualized unit test virtualization, isolates external dependencies such as files and network ports while long-running tests execute in parallel. For this, the system distributes testing jobs in round-robin manner among OS-level virtual machines. The result is, on average, a 51 percent speedup of application build times. The implementation of this approach is called VMVMVM (Virtual Machine in a Virtual Machine on a Virtual Machine "vroom vroom vroom"). [ABSTRACT FROM PUBLISHER]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of IEEE Software is the property of IEEE Computer Society and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=101591406
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1109/MS.2015.32
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 8
        StartPage: 97
    Subjects:
      – SubjectFull: Java programming language
        Type: general
      – SubjectFull: Computers testing
        Type: general
      – SubjectFull: Virtual machine systems
        Type: general
      – SubjectFull: Computer science
        Type: general
      – SubjectFull: Just-in-time systems
        Type: general
    Titles:
      – TitleFull: Vroom: Faster Build Processes for Java.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Bell, Jonathan
      – PersonEntity:
          Name:
            NameFull: Melski, Eric
      – PersonEntity:
          Name:
            NameFull: Dattatreya, Mohan
      – PersonEntity:
          Name:
            NameFull: Kaiser, Gail E.
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 03
              Text: Mar2015
              Type: published
              Y: 2015
          Identifiers:
            – Type: issn-print
              Value: 07407459
          Numbering:
            – Type: volume
              Value: 32
            – Type: issue
              Value: 2
          Titles:
            – TitleFull: IEEE Software
              Type: main
ResultId 1