41 research outputs found
Effective software testing with a string-constraint solver
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2009.Cataloged from PDF version of thesis.Includes bibliographical references (p. 91-100).This dissertation presents techniques and tools for improving software reliability, by using an expressive string-constraint solver to make implementation-based testing more effective and more applicable. Concolic testing is a paradigm of implementation-based systematic software testing that combines dynamic symbolic execution with constraint-based systematic execution-path enumeration. Concolic testing is easy to use and effective in finding real errors. It is, however, limited by the expressiveness of the underlying constraint solver. Therefore, to date, concolic testing has not been successfully applied to programs with highly-structured inputs (e.g., compilers), or to Web applications. This dissertation shows that the effectiveness and applicability of concolic testing can be greatly improved by using an expressive and efficient string-constraint solver, i.e., a solver for constraints on string variables. We present the design, implementation, and experimental evaluation of a novel string-constraint solver. Furthermore, we show novel techniques for two important problems in concolic testing: getting past input validation in programs with highly-structured inputs, and creating inputs that demonstrate security vulnerabilities in Web applications.by Adam Kieżun.Ph.D
Automated recommendation, reuse, and generation of unit tests for software systems
This thesis presents a body of work relating to the automated discovery, reuse, and generation of unit tests for software systems with the goal of improving the efficiency of the software engineering process and the quality of the produced software.
We start with a novel approach to test-to-code traceability link establishment, called TCTracer, which utilises multilevel information and an ensemble of static and dynamic techniques to achieve state-of-the-art accuracy when establishing links between tests and tested functions and test classes and tested classes. This approach is utilised to provide test-to-code traceability links which facilitate multiple other parts of the work.
We then move on to test reuse where we first define an abstract framework, called Rashid, for using connections between artefacts to identify new artefacts for reuse and utilise this framework in Relatest, an approach for producing test recommendations for new functions. Relatest instantiates Rashid by using TCTracer to establish connections between tests and functions and code similarity measures to establish connections between similar functions. This information is used to create lists of recommendations for new functions.
We then present an investigation into the automated transplantation of tests which attempts to remove the manual effort required to transform Relatest recommendations and insert them into another project.
Finally, we move on to test generation where we utilise neural networks to generate unit test code by learning from existing function-to-test pairs. The first approach, TestNMT, investigates using recurrent neural networks to generate whole JUnit tests and the second approach, ReAssert, utilises a transformer-based architecture to generate JUnit asserts.
In total, this thesis addresses the problem by developing approaches for the discovery, reuse, and utilisation of existing functions and tests, including the establishment of relationships between these artefacts, developing mechanisms to aid automated test reuse and learning from existing tests to generate new tests
Prosody in text-to-speech synthesis using fuzzy logic
For over a thousand years, inventors, scientists and researchers have tried to reproduce human speech. Today, the quality of synthesized speech is not equivalent to the quality of real speech. Most research on speech synthesis focuses on improving the quality of the speech produced by Text-to-Speech (TTS) systems. The best TTS systems use unit selection-based concatenation to synthesize speech. However, this method is very timely and the speech database is very large. Diphone concatenated synthesized speech requires less memory, but sounds robotic. This thesis explores the use of fuzzy logic to make diphone concatenated speech sound more natural. A TTS is built using both neural networks and fuzzy logic. Text is converted into phonemes using neural networks. Fuzzy logic is used to control the fundamental frequency for three types of sentences. In conclusion, the fuzzy system produces f0 contours that make the diphone concatenated speech sound more natural
Real-Time Health Monitoring System for Mast-Arm Sign Support Structures
There has been an ongoing study conducted by Marquette University and supported by the Wisconsin Highway Research Program that is seeking to understand the risk of fatigue-induced fracture in the connections of mast-arm sign support structures. This study has been brought on by recent problems encountered with the connections contained in, and the in-service performance of, several cantilevered mast-arm sign support structures. A resulting recommendation of phase one in this effort was to monitoring an in-service cantilevered mast-arm sign support structure.
The health monitoring system developed in this thesis effort includes a grouping of strain gages (full-bridge arrangements) positioned around the perimeter of the mast-arm tube to monitor wind-induced strain near the mast-arm connection weld toes. This data is automatically recorded (continuously) using the data acquisition system designed and the software developed. Wind speed and direction is simultaneously read through an anemometer, synched to the strain data being acquired, and stored within the DAQ system using the software developed in this thesis. Finally, the thesis includes development of algorithms for synthesizing the data for later use in the WHRP project. The health-monitoring system designed and developed in this thesis will be left in place for future use in the WHRP research effort
Filling the sensor gap: applying UAS technology to land-use research
Collecting data at ground level typically yields the most detailed information on a
subject, however it is limited by the spatial extent that can be covered within a
specific timeframe. Remote sensing from an aerial platform increases this spatial
extent and the deployment of unmanned aircraft systems (UAS) can provide this
ability directly to researchers at an affordable cost and at data resolutions that are
very applicable for site specific surveys. Further to this, developments in
photogrammetry software allow the creation of orthorectified spectral and structural
data that can that can be classified via pixel or object-based analysis methods and
applied to a wide variety of different land-use research areas. In this study a sensor
package was created consisting of two off the shelf digital cameras, one un-modified
and the other modified to be sensitive to near infra-red wavelengths of light. A multi-rotor
aerial platform utilising an open source autopilot was assembled to enable data
collection and a processing pipeline was devised to transform RAW camera imagery
into georeferenced and orthorectified data, using computer vision software following
the structure from motion (SfM) approach. This remote sensing tool was applied to a
variety of land-use research study sites in central Scotland and Northern England
with two main areas focused on. (1) The use of spectral and structural data for the
detection of disease within a potato (Solanum tuberosum L.) crop revealed that UAS
could be an effective tool for mapping the distribution of diseased plants. (2)
Comparisons between aerial data and traditional manual assessments of a trial crop
of potatoes revealed that the earliest stages of plant emergence could not be
detected but later plant counts, and ground cover estimates correlated well,
indicating that UAS could be an effective trials monitoring tool, giving extra structural
data and potentially a more representative measure of canopy ground cover
compared to traditional manual techniques. This study also showed results from
experimental applications investigating the mapping of invasive non-native species
and ways of enabling upscaling of greenhouse gas emissions from different land
use types. Therefore, this study demonstrates that UAS equipped with basic
imaging technology can be of use to a variety of land-use research areas and look
set to become an invaluable remote sensing tool, which will improve further with the
addition of calibrated multi-spectral sensor payloads, high precision global
navigation satellite systems and relaxation in regulations governing their use
Investigating heuristic and meta-heuristic algorithms for solving pickup and delivery problems
The development of effective decision support tools that can be adopted in the transportation industry is vital in the world we live in today, since it can lead to substantial cost reduction and efficient resource consumption. Solving the Vehicle Routing Problem (VRP) and its related variants is at the heart of scientific research for optimizing logistic planning. One important variant of the VRP is the Pickup and Delivery Problem (PDP). In the PDP, it is generally required to find one or more minimum cost routes to serve a number of customers, where two types of services may be performed at a customer location, a pickup or a delivery. Applications of the PDP are frequently encountered in every day transportation and logistic services, and the problem is likely to assume even greater prominence in the future, due to the increase in e-commerce and Internet shopping. In this research we considered two particular variants of the PDP, the Pickup and Delivery Problem with Time Windows (PDPTW), and the One-commodity Pickup and Delivery Problem (1-PDP). In both problems, the total transportation cost should be minimized, without violating a number of pre-specified problem constraints. In our research, we investigate heuristic and meta-heuristic approaches for solving the selected PDP variants. Unlike previous research in this area, though, we try to focus on handling the difficult problem constraints in a simple and effective way, without complicating the overall solution methodology. Two main aspects of the solution algorithm are directed to achieve this goal, the solution representation and the neighbourhood moves. Based on this perception, we tailored a number of heuristic and meta-heuristic algorithms for solving our problems. Among these algorithms are: Genetic Algorithms, Simulated Annealing, Hill Climbing and Variable Neighbourhood Search. In general, the findings of the research indicate the success of our approach in handling the difficult problem constraints and devising simple and robust solution mechanisms that can be integrated with vehicle routing optimization tools and used in a variety of real world application