9,238 research outputs found
Java Unit Testing Tool Competition — Fifth Round
After four successful JUnit tool competitions, we report on the achievements of a new Java Unit Testing Tool Competition. This 5th contest introduces statistical analyses in the benchmark infrastructure and has been validated with significance against the results of the previous 4th edition. Overall, the competition evaluates four automated JUnit testing tools taking as baseline human written test cases from real projects. The paper details the modifications performed to the methodology and provides full results of the competition
JUGE: An Infrastructure for Benchmarking Java Unit Test Generators
Researchers and practitioners have designed and implemented various automated
test case generators to support effective software testing. Such generators
exist for various languages (e.g., Java, C#, or Python) and for various
platforms (e.g., desktop, web, or mobile applications). Such generators exhibit
varying effectiveness and efficiency, depending on the testing goals they aim
to satisfy (e.g., unit-testing of libraries vs. system-testing of entire
applications) and the underlying techniques they implement. In this context,
practitioners need to be able to compare different generators to identify the
most suited one for their requirements, while researchers seek to identify
future research directions. This can be achieved through the systematic
execution of large-scale evaluations of different generators. However, the
execution of such empirical evaluations is not trivial and requires a
substantial effort to collect benchmarks, setup the evaluation infrastructure,
and collect and analyse the results. In this paper, we present our JUnit
Generation benchmarking infrastructure (JUGE) supporting generators (e.g.,
search-based, random-based, symbolic execution, etc.) seeking to automate the
production of unit tests for various purposes (e.g., validation, regression
testing, fault localization, etc.). The primary goal is to reduce the overall
effort, ease the comparison of several generators, and enhance the knowledge
transfer between academia and industry by standardizing the evaluation and
comparison process. Since 2013, eight editions of a unit testing tool
competition, co-located with the Search-Based Software Testing Workshop, have
taken place and used and updated JUGE. As a result, an increasing amount of
tools (over ten) from both academia and industry have been evaluated on JUGE,
matured over the years, and allowed the identification of future research
directions
The Search for the Laws of Automatic Random Testing
Can one estimate the number of remaining faults in a software system? A
credible estimation technique would be immensely useful to project managers as
well as customers. It would also be of theoretical interest, as a general law
of software engineering. We investigate possible answers in the context of
automated random testing, a method that is increasingly accepted as an
effective way to discover faults. Our experimental results, derived from
best-fit analysis of a variety of mathematical functions, based on a large
number of automated tests of library code equipped with automated oracles in
the form of contracts, suggest a poly-logarithmic law. Although further
confirmation remains necessary on different code bases and testing techniques,
we argue that understanding the laws of testing may bring significant benefits
for estimating the number of detectable faults and comparing different projects
and practices.Comment: 20 page
Pair programming teams and high-quality knowledge sharing: A comparative study of coopetitive reward structures
© 2015, Springer Science+Business Media New York. There has been a growing research interest in understanding knowledge sharing in agile development. Yet, empirical research that sheds light on its underlying practices, such as pair programming, is evolving. This study uses insights from coopetition and software literature to focus inquiry on the relation between coopetitive rewards and high-quality knowledge sharing in pair programming teams. Theoretical hypotheses are developed and validated, suggesting that: ‘coopetitive rewards influence high-quality knowledge sharing both directly and over time through their impact on the level of knowledge sharing satisfaction’, and, ‘the impact of coopetitive rewards on high-quality knowledge sharing is dependent upon task complexity and the history of working under similar reward structure’. This study generates new understanding related to the use of rewards in pair programming teams, and offers a rigorous and replicable seven-step experimental process for simulating coopetitive structures and investigating their role in pair programming and in similar collaborative contexts
Design of a Data Encryption Test-Bed Used to Analyze Encryption Processing Overhead
Data security is one of the most pressing issues faced by the organizations today. Unauthorized access to confidential information corresponding to employees/customers like SSN (Social Security numbers), financial information, health records, birth dates can be compromised both to the individual customers involved and the company withholding the data. The problem has become immense, approximately 260 million records were compromised since 2005 and companies, states and countries have reacted by mandating that industries should stringently follow the best security practices, including encryption and decryption of data. Also, the costs associated with data threats are quite increasing (Whitfield & Susan, 2007). Businesses that use strong encryption methodologies in their mobile devices, computers, cloud systems, other locations might not gain 100 % protection from dangerous hackers, but they can decrease their vulnerability to such attacks and thereby the potential of financial losses. Data encryption is the method of converting data in a computer or any communication system making it unintelligible in a way that the data can be reversed only by the authorized people accessing the original data. The primary goal is to safeguard the confidentiality of data, but integrity checks are also provided by the technique in various forms of authentication message codes. For instance, digital signature schemes are also fundamentals of encryption. The purpose of it is to ensure the authenticity of the identity of the receiver and sender. With an increasing awareness of security threats, many of the current companies are using cryptographic techniques for ensuring data security. Many of the companies like Amazon, Apple, AT&T and Comcast are using encryption techniques for securing the information. While there are a many encryption and decryption techniques available today, there is an obvious requirement for the current companies to find and choose the best reliable cryptographic techniques for securing their data. A performance test of various algorithms is needed to bring up the best technique. This research paper deals with the implementation of different cryptographic algorithms with a programming language called JAVA. It involves designing a graphical user interface (GUI) where sample input can be entered, common algorithms used to encrypt and decrypt the input can be selected. A mechanism for building a test bed for comparing the performances of the implemented algorithms is designed to calculate the encryption processing overhead
Evaluating Simulators in FIRST Robotics Competition
This report, in completion of the Inquiry Seminar Project and prepared for For Inspiration and Recognition of Science and Technology (FIRST), Defense Advanced Research Projects Agency (DARPA), and Open Source Robotics Foundation (OSRF), examines simulators used within the FIRST Robotics Competition (FRC) in order to assess the usefulness of simulation tools amongst FRC teams. This is done through researching previous simulators used, and gaining survey data from FRC teams on a new simulator using Gazebo. Data gained through competition demonstrations and a beta of the FRC Gazebo plugin is used to assess the future of Gazebo and simulators in general amongst FIRST
- …