Making Software More Reliable by Uncovering Hidden Dependencies
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Java™ Technology Test Suite Development Guide
Java™ Technology Test Suite Development Guide 1.2 For Java Compatibility Test Suite Developers Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 U.S.A. 650-960-1300 November 2003 Copyright © 2003 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF SUN MICROSYSTEMS, INC. USE, DISCLOSURE OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SUN MICROSYSTEMS, INC. U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. Sun, the Sun logo, Sun Microsystems, Java, the Java Coffee Cup logo, JavaTest, Java Community Process, JCP,J2SE, Solaris and Javadoc are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. The Adobe®logo is a registered trademark of Adobe Systems, Incorporated. This distribution may include materials developed by third parties. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. The Adobe® logo is a registered trademark of Adobe Systems, Incorporated. Products covered by and information contained in this service manual are controlled by U.S. Export Control laws and may be subject to the export or import laws in other countries. Nuclear, missile, chemical biological weapons or nuclear maritime end uses or end users, whether direct or indirect, are strictly prohibited. Export or reexport to countries subject to U.S. -
Efficient Dependency Detection for Safe Java Test Acceleration
Efficient Dependency Detection for Safe Java Test Acceleration Jonathan Bell, Gail Kaiser Eric Melski, Mohan Dattatreya Columbia University Electric Cloud, Inc 500 West 120th St 35 S Market Street New York, NY USA San Jose, CA USA {jbell,kaiser}@cs.columbia.edu {ericm,mohan}@electric-cloud.com ABSTRACT Our study of popular open source Java programs echoes Slow builds remain a plague for software developers. The fre- these results, finding projects that take hours to build, with quency with which code can be built (compiled, tested and most of that time spent testing. Even in cases of projects packaged) directly impacts the productivity of developers: that build in a more manageable amount of time | for ex- longer build times mean a longer wait before determining if ample, five to ten minutes | faster builds can result in a a change to the application being built was successful. We significant increase in productivity due to less lag-time for have discovered that in the case of some languages, such as test results. Java, the majority of build time is spent running tests, where To make testing faster, developers may turn to techniques dependencies between individual tests are complicated to such as Test Suite Minimization (which reduce the size of discover, making many existing test acceleration techniques a test suite, for instance by removing tests that duplicate unsound to deploy in practice. Without knowledge of which others) [11, 12,23,24,27,28,37,39], Test Suite Prioritization tests are dependent on others, we cannot safely parallelize (which reorders tests to run those most relevant to recent the execution of the tests, nor can we perform incremen- changes first) [14, 15, 35, 36, 38], or Test Selection [17, 25, 32] tal testing (i.e., execute only a subset of an application's (which selects tests to execute that are impacted by recent tests for each build). -
Unravel Data Systems Version 4.5
UNRAVEL DATA SYSTEMS VERSION 4.5 Component name Component version name License names jQuery 1.8.2 MIT License Apache Tomcat 5.5.23 Apache License 2.0 Tachyon Project POM 0.8.2 Apache License 2.0 Apache Directory LDAP API Model 1.0.0-M20 Apache License 2.0 apache/incubator-heron 0.16.5.1 Apache License 2.0 Maven Plugin API 3.0.4 Apache License 2.0 ApacheDS Authentication Interceptor 2.0.0-M15 Apache License 2.0 Apache Directory LDAP API Extras ACI 1.0.0-M20 Apache License 2.0 Apache HttpComponents Core 4.3.3 Apache License 2.0 Spark Project Tags 2.0.0-preview Apache License 2.0 Curator Testing 3.3.0 Apache License 2.0 Apache HttpComponents Core 4.4.5 Apache License 2.0 Apache Commons Daemon 1.0.15 Apache License 2.0 classworlds 2.4 Apache License 2.0 abego TreeLayout Core 1.0.1 BSD 3-clause "New" or "Revised" License jackson-core 2.8.6 Apache License 2.0 Lucene Join 6.6.1 Apache License 2.0 Apache Commons CLI 1.3-cloudera-pre-r1439998 Apache License 2.0 hive-apache 0.5 Apache License 2.0 scala-parser-combinators 1.0.4 BSD 3-clause "New" or "Revised" License com.springsource.javax.xml.bind 2.1.7 Common Development and Distribution License 1.0 SnakeYAML 1.15 Apache License 2.0 JUnit 4.12 Common Public License 1.0 ApacheDS Protocol Kerberos 2.0.0-M12 Apache License 2.0 Apache Groovy 2.4.6 Apache License 2.0 JGraphT - Core 1.2.0 (GNU Lesser General Public License v2.1 or later AND Eclipse Public License 1.0) chill-java 0.5.0 Apache License 2.0 Apache Commons Logging 1.2 Apache License 2.0 OpenCensus 0.12.3 Apache License 2.0 ApacheDS Protocol -
Corner Cases and Possible Improvements of Automated Testing
MASARYK UNIVERSITY FACULTY OF INFORMATICS Corner cases and possible improvements of automated testing MASTER'S THESIS Petra Mikova Brno, Spring 2020 MASARYK UNIVERSITY FACULTY OF INFORMATICS Corner cases and possible improvements of automated testing MASTER'S THESIS Petra Mikova Brno, Spring 2020 This is where a copy of the official signed thesis assignment and a copy of the Statement of an Author is located in the printed version of the document. Declaration Hereby I declare that this paper is my original authorial work, which I have worked out on my own. All sources, references, and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Petra Mikova Advisor: RNDr. Adam Rambousek, Ph.D. i Acknowledgements I would like to thank my advisors Mgr. Jiri Vanek and RNDr. Adam Rambousek, Ph.D. for their help, valuable advice and support, and the members of OpenJDK QE team in Red Hat for their expertise and input. ii Abstract The aim of this thesis is analysis of current state of OpenJDK QE in Red Hat, identification of biggest issues and their resolution. That is achieved both by outlining new and reusing existing tools and software. Most of the problematic corner cases mentioned in this thesis are not product specific, making the solutions applicable for other QE teams. The last part of the thesis is dedicated to improving automated results processing and reporting. iii Keywords OpenJDK, Jenkins, quality engineering, test automation, Java iv Contents Introduction 1 -
Vuln4real: a Methodology for Counting Actually Vulnerable Dependencies
This is the author's version of an article that has been published in this journal. Changes were made to this version by the publisher prior to publication. The final version of record is available at http://dx.doi.org/10.1109/TSE.2020.3025443 1 Vuln4Real: A Methodology for Counting Actually Vulnerable Dependencies Ivan Pashchenko, Henrik Plate, Serena Elisa Ponta, Antonino Sabetta, and Fabio Massacci Abstract— Vulnerable dependencies are a known problem in today’s free open-source software ecosystems because FOSS libraries are highly interconnected, and developers do not always update their dependencies. Our paper proposes Vuln4Real, the methodology for counting actually vulnerable dependencies, that addresses the over-inflation problem of academic and industrial approaches for reporting vulnerable dependencies in FOSS software, and therefore, caters to the needs of industrial practice for correct allocation of development and audit resources. To understand the industrial impact of a more precise methodology, we considered the 500 most popular FOSS Java libraries used by SAP in its own software. Our analysis included 25767 distinct library instances in Maven. We found that the proposed methodology has visible impacts on both ecosystem view and the individual library developer view of the situation of software dependencies: Vuln4Real significantly reduces the number of false alerts for deployed code (dependencies wrongly flagged as vulnerable), provides meaningful insights on the exposure to third-parties (and hence vulnerabilities) of a library, and automatically predicts when dependency maintenance starts lagging, so it may not receive updates for arising issues. Index Terms—Vulnerable Dependency; Free Open Source Software; Mining Software Repositories F 1 INTRODUCTION (they may belong to the same project), and therefore, should be treated as a single unit, when constructing dependency The inclusion of free open-source software (FOSS) com- trees and reporting results of a dependency study. -
Characters and Numbers A
Index ■Characters and Numbers by HTTP request type, 313–314 #{ SpEL statement } declaration, SpEL, 333 by method, 311–312 #{bean_name.order+1)} declaration, SpEL, overview, 310 327 @Required annotation, checking ${exception} variable, 330 properties with, 35 ${flowExecutionUrl} variable, 257 @Resource annotation, auto-wiring beans with ${newsfeed} placeholder, 381 all beans of compatible type, 45–46 ${resource(dir:'images',file:'grails_logo.pn g')} statement, 493 by name, 48–49 ${today} variable, 465 overview, 42 %s placeholder, 789 single bean of compatible type, 43–45 * notation, 373 by type with qualifiers, 46–48 * wildcard, Unix, 795 @Value annotation, assigning values in controller with, 331–333 ;%GRAILS_HOME%\bin value, PATH environment variable, 460 { } notation, 373 ? placeholder, 624 ~.domain.Customer package, 516 @Autowired annotation, auto-wiring 23505 error code, 629–631 beans with all beans of compatible type, 45–46 ■A by name, 48–49 a4j:outputPanel component, 294 overview, 42 AboutController class, 332 single bean of compatible type, 43–45 abstract attribute, 49, 51 by type with qualifiers, 46–48 AbstractAnnotationAwareTransactionalTe @PostConstruct annotation, 80–82 sts class, 566 @PreDestroy annotation, 80–82 AbstractAtomFeedView class, 385–386 @RequestMapping annotation, mapping AbstractController class, 298 requests with AbstractDependencyInjectionSpringConte by class, 312–313 xtTests class, 551–552, 555 985 ■ INDEX AbstractDom4jPayloadEndpoint class, AbstractTransactionalTestNGSpringConte 745, 747 xtTests class, 555, -
Dependency Management and How to Single and Multi-Projects Are Structured and Confi Gured
BOOKS FOR PROFESSIONALS BY PROFESSIONALS® Varanasi Belida RELATED Introducing Gradle Introducing Gradle is a quick start-up primer on the Gradle build automation tool. You will learn about Gradle and how to set it up to use. You will learn the basics of Groovy, the language used for creating Gradle build fi les. Also, you will learn about tasks, plugins and build lifecycle. Furthermore, you will learn how to create and use a custom plugin. After reading and using Introducing Gradle, you will have an understanding of Gradle’s dependency management and how to single and multi-projects are structured and confi gured. You will learn how to use Gradle for publishing artifacts to local and Nexus remote repository. Finally, you will learn Jenkins support for Gradle. You will learn: • What Gradle is and how it compares with Ant, Maven and more • How to set up and test Gradle • What tasks and projects are • How to use out of the box plugins • How to create a custom plugin • Gradle’s support for dependency management • How to publish artifacts to local and remote repos • How to confi gure Jenkins to work with Gradle • How multi-projects are organized • Basic Groovy language features ISBN 978-1-4842-1032-1 Shelve in: 52999 Programming Languages/Java User level: Beginning SOURCE CODE ONLINE 9781484 210321 www.apress.com Introducing Gradle Balaji Varanasi Sudha Belida Introducing Gradle Copyright © 2015 by Balaji Varanasi and Sudha Belida This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. -
Full-Graph-Limited-Mvn-Deps.Pdf
org.jboss.cl.jboss-cl-2.0.9.GA org.jboss.cl.jboss-cl-parent-2.2.1.GA org.jboss.cl.jboss-classloader-N/A org.jboss.cl.jboss-classloading-vfs-N/A org.jboss.cl.jboss-classloading-N/A org.primefaces.extensions.master-pom-1.0.0 org.sonatype.mercury.mercury-mp3-1.0-alpha-1 org.primefaces.themes.overcast-${primefaces.theme.version} org.primefaces.themes.dark-hive-${primefaces.theme.version}org.primefaces.themes.humanity-${primefaces.theme.version}org.primefaces.themes.le-frog-${primefaces.theme.version} org.primefaces.themes.south-street-${primefaces.theme.version}org.primefaces.themes.sunny-${primefaces.theme.version}org.primefaces.themes.hot-sneaks-${primefaces.theme.version}org.primefaces.themes.cupertino-${primefaces.theme.version} org.primefaces.themes.trontastic-${primefaces.theme.version}org.primefaces.themes.excite-bike-${primefaces.theme.version} org.apache.maven.mercury.mercury-external-N/A org.primefaces.themes.redmond-${primefaces.theme.version}org.primefaces.themes.afterwork-${primefaces.theme.version}org.primefaces.themes.glass-x-${primefaces.theme.version}org.primefaces.themes.home-${primefaces.theme.version} org.primefaces.themes.black-tie-${primefaces.theme.version}org.primefaces.themes.eggplant-${primefaces.theme.version} org.apache.maven.mercury.mercury-repo-remote-m2-N/Aorg.apache.maven.mercury.mercury-md-sat-N/A org.primefaces.themes.ui-lightness-${primefaces.theme.version}org.primefaces.themes.midnight-${primefaces.theme.version}org.primefaces.themes.mint-choc-${primefaces.theme.version}org.primefaces.themes.afternoon-${primefaces.theme.version}org.primefaces.themes.dot-luv-${primefaces.theme.version}org.primefaces.themes.smoothness-${primefaces.theme.version}org.primefaces.themes.swanky-purse-${primefaces.theme.version} -
Matthew Jason Benson Email: Mbenson@Apache
Matthew Jason Benson Email: [email protected] AIM: gudnabrsam Professional Objective My ideal position is quite simply one in which my talents are used to develop, or develop build systems for, useful and/or interesting software. General Skills Strong written communications, Ability to learn quickly and independently, Always willing to help peers. Computer Skills Programming Languages: Java, Javascript, SQL, Unix shell scripts, Windows/DOS command scripts aka batch files, COBOL. Java/Java EE: Apache Ant, Apache Commons (various), Bean Validation/Apache BVal, Therian, JBoss Forge, Morph, Jenkins, Spring framework, Hibernate ORM, Android, asm, cglib, javassist, AspectJ, JSF 2/Facelets, MyFaces, MyFaces Extensions Validator, Jackson, PrettyFaces, JUnit 3.x/4.x, Mockito, Spring Web Flow, ANTLR 2.x, Freemarker, JSP, Hamcrest, DWR AJAX library, Drools, iText PDF library, Struts 1.x, Threading/Concurrency, Servlets, JDBC, JMS, Swing. DBMS: Oracle, DB2, Pervasive/Btrieve v6.0-8.5. Data Formats: HP-PCL, XML, XHTML, Commons flatfile DSL. Operating Environments: Microsoft Windows, OS X, Linux, Solaris, Cygwin, MS-DOS, Novell Netware 3.x-4.x. Software: Apache Ant, Apache Maven, Apache Ivy, Subversion (user/admin), Eclipse, JIRA (user/admin), Jenkins (nee Hudson) CI, Sonatype Nexus (user/admin), git, JBoss Forge, ViewVC (user/admin), CVS (user/admin), Bugzilla (user/ admin), PGP/GnuPG, ghostScript, ghostPcl, Image Alchemy, PVCS. Miscellaneous: RTFM, STFW. Interests • Software Build Systems • Java Object Transformation • Language Parsing / Domain-specific Languages • Aspect-Oriented Programming • Java Classfile Instrumentation • Dynamic Java Programming • Integration of Enterprise and Legacy Systems • Imaging • Document Generation Employment History Senior Program Analyst - Internet The General October 2005–Present Projects: • Lead for conversion to Apache Maven-based software builds. -
Javatest Harness Architect’S Guide, Javatest Harness 4.4.1 for the Java Platform E20663-02
JavaTest Harness Architect’s Guide, JavaTest Harness 4.4.1 for the Java Platform E20663-02 December 2012 This Architect’s Guide is intended for those who design JavaTest harness test suites. You should be familiar with the JavaTest harness. JavaTest Architect's Guide, JavaTest Harness 4.4.1 for the Java Platform E20663-02 Copyright © 2002, 2011, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). -
Java™ Technology Compatibility Kit User's Guide Template
Java™ Technology Compatibility Kit User’s Guide Template For Technology Licensees Release [VersionNumber] Sun Microsystems, Inc. 4150 Network Circle Santa Clara, California 95054 U.S.A. 1-800-555-9SUN or 1-650-960-1300 May, 2003 Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 U.S.A. 1-800-555-9SUN or 1-650-960-1300 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, California 95054 U.S.A. 1-800-555-9SUN or 1-650-960-1300 <NOTE this copyright page states Sun’s copyrights regarding this TCK User’s Guide Template. It is not intended for use as a template or model for TCK User’s Guide copyright statements.> COPYRIGHT © 2003 SUN MICROSYSTEMS, INC. ALL RIGHTS RESERVED. SUN MICROSYSTEMS, INC. HEREBY GRANTS A NON-EXCLUSIVE, NON-TRANSFERABLE, WORLDWIDE LICENSE TO JAVA COMMUNITY PROCESS (JCP) MEMBERS TO USE, REPRODUCE, AND CREATE DERIVATIVE WORKS FROM THIS DOCUMENT, SOLELY FOR THE PURPOSE OF CREATING THEIR OWN JAVA TECHNOLOGY COMPATIBILITY KIT USER GUIDES, AND TO DISTRIBUTE, PUBLICLY PERFORM, OR PUBLICLY DISPLAY SUCH USER GUIDES, IN WHOLE OR IN PART, AND IN ANY MEDIA OR FORMAT. LICENSEE AGREES THAT IT MAY NOT MODIFY OR CLAIM ANY LEGAL RIGHTS IN ANY SUN TRADEMARK OR LOGO. LICENSEE MAY NOT USE ANY SUN TRADEMARK OR LOGO EXCEPT IN CONFORMANCE WITH SUN’S TRADEMARK AND LOGO USAGE REQUIREMENTS (WWW.SUN.COM/POLICIES/TRADEMARKS/). THIS LICENSE IS SUBJECT TO AND CONDITIONED UPON LICENSEE’S COMPLIANCE WITH THE TERMS AND CONDITIONS OF THIS LICENSE, AND LICENSEE’S RETENTION, ON ALL REDISTRIBUTIONS, IN WHOLE OR IN PART, OF THE ABOVE COPYRIGHT NOTICE, THIS PERMISSION NOTICE, AND ALL DISCLAIMERS. -
Introducing Gradle Introducing Gradle Is a Quick Start-Up Primer on the Gradle Build Automation Tool
BOOKS FOR PROFESSIONALS BY PROFESSIONALS® Varanasi Belida RELATED Introducing Gradle Introducing Gradle is a quick start-up primer on the Gradle build automation tool. You will learn about Gradle and how to set it up to use. You will learn the basics of Groovy, the language used for creating Gradle build fi les. Also, you will learn about tasks, plugins and build lifecycle. Furthermore, you will learn how to create and use a custom plugin. After reading and using Introducing Gradle, you will have an understanding of Gradle’s dependency management and how to single and multi-projects are structured and confi gured. You will learn how to use Gradle for publishing artifacts to local and Nexus remote repository. Finally, you will learn Jenkins support for Gradle. You will learn: • What Gradle is and how it compares with Ant, Maven and more • How to set up and test Gradle • What tasks and projects are • How to use out of the box plugins • How to create a custom plugin • Gradle’s support for dependency management • How to publish artifacts to local and remote repos • How to confi gure Jenkins to work with Gradle • How multi-projects are organized • Basic Groovy language features ISBN 978-1-4842-1032-1 Shelve in: 52999 Programming Languages/Java User level: Beginning SOURCE CODE ONLINE 9781484 210321 www.apress.com Introducing Gradle Balaji Varanasi Sudha Belida Introducing Gradle Copyright © 2015 by Balaji Varanasi and Sudha Belida This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.