Vroom: Faster Build Processes for Java

Software, IEEE  (2015)

引用 5|浏览63
暂无评分
摘要
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").
更多
查看译文
关键词
java,operating systems (computers),resource allocation,virtual machines,virtualisation,ant and maven junit build processes,jvm,java projects,java virtual machine,os-level virtual machines,vmvm,in-memory dependencies,just-in-time reinitialization,long-running tests,round-robin manner,tear-down resource management methods,unit test virtualization,virtual machine in a virtual machine on a virtual machine,virtualized unit test virtualization,vroom vroom vroom,software engineering,test execution,testing tools,testing,software development,software testing,servers
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要