Open Access. Powered by Scholars. Published by Universities.®

Computer Sciences Commons™

Open Access. Powered by Scholars. Published by Universities.®

Software Engineering

Institution
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 2611 - 2640 of 4315

Full-Text Articles in Computer Sciences

History Driven Program Repair, Xuan-Bach D. Le, David Lo, Claire Le Goues Mar 2016

History Driven Program Repair, Xuan-Bach D. Le, David Lo, Claire Le Goues

Research Collection School Of Computing and Information Systems

Effective automated program repair techniques have great potential to reduce the costs of debugging and maintenance. Previously proposed automated program repair (APR) techniques often follow a generate-and-validate and test- case-driven procedure: They first randomly generate a large pool of fix candidates and then exhaustively validate the quality of the candidates by testing them against existing or provided test suites. Unfortunately, many real-world bugs cannot be repaired by existing techniques even after more than 12 hours of computation in a multi-core cloud environment. More work is needed to advance the capabilities of modern APR techniques. We propose a new technique that …


Semantic Memory Modeling And Memory Interaction In Learning Agents, Wenwen Wang, Ah-Hwee Tan, Loo-Nin Teow Mar 2016

Semantic Memory Modeling And Memory Interaction In Learning Agents, Wenwen Wang, Ah-Hwee Tan, Loo-Nin Teow

Research Collection School Of Computing and Information Systems

Semantic memory plays a critical role in reasoning and decision making. It enables an agent to abstract useful knowledge learned from its past experience. Based on an extension of fusion adaptive resonance theory network, this paper presents a novel self-organizing memory model to represent and learn various types of semantic knowledge in a unified manner. The proposed model, called fusion adaptive resonance theory for multimemory learning, incorporates a set of neural processes, through which it may transfer knowledge and cooperate with other long-term memory systems, including episodic memory and procedural memory. Specifically, we present a generic learning process, under which …


Magi: Enabling Multi-Device Gestural Applications, Tran Huy Vu, Choo Tsu Wei, Kenny, Youngki Lee, Richard Christopher Davis, Archan Misra Mar 2016

Magi: Enabling Multi-Device Gestural Applications, Tran Huy Vu, Choo Tsu Wei, Kenny, Youngki Lee, Richard Christopher Davis, Archan Misra

Research Collection School Of Computing and Information Systems

We describe our vision of a multiple mobile or wearable device environment and share our initial exploration of our vision in multi-wrist gesture recognition. We explore how multi-device input and output might look, giving four scenarios of everyday multi-device use that show the technical challenges that need to be addressed. We describe our system which allows for recognition to be distributed between multiple devices, fusing recognition streams on a resource-rich device (e.g., mobile phone). An Interactor layer recognises common gestures from the fusion engine, and provides abstract input streams (e.g., scrolling and zooming) to user interface components called Midgets. These …


Towards Improving Interface Modularity In Legacy Java Software Through Automated Refactoring, Raffi T. Khatchadourian, Olivia Moore, Hidehiko Masuhara Mar 2016

Towards Improving Interface Modularity In Legacy Java Software Through Automated Refactoring, Raffi T. Khatchadourian, Olivia Moore, Hidehiko Masuhara

Publications and Research

The skeletal implementation pattern is a software design pattern consisting of defining an abstract class that provides a partial interface implementation. However, since Java allows only single class inheritance, if implementers decide to extend a skeletal implementation, they will not be allowed to extend any other class. Also, discovering the skeletal implementation may require a global analysis. Java 8 enhanced interfaces alleviate these problems by allowing interfaces to contain (default) method implementations, which implementers inherit. Java classes are then free to extend a different class, and a separate abstract class is no longer needed; developers considering implementing an interface need …


Requirements Quick Notes, William L. Honig, Shingo Takada Mar 2016

Requirements Quick Notes, William L. Honig, Shingo Takada

Computer Science: Faculty Publications and Other Works

A short introduction to requirements and their role in system development. Includes industry definition of requirements, overview of basic requirements process including numbering of requirements, ties to testing, and traceability. An introduction to requirements quality attributes (correct, unambiguous, etc.) Includes references to requirements process, numbering, and quality papers.


Requirements Metrics - Definitions Of A Working List Of Possible Metrics For Requirements Quality, William L. Honig Mar 2016

Requirements Metrics - Definitions Of A Working List Of Possible Metrics For Requirements Quality, William L. Honig

Computer Science: Faculty Publications and Other Works

A work in progress to define a metrics set for requirements. Metrics are defined that apply to either the entire requirements set (requirements document as a whole) or individual atomic (or singular, individual) requirements statements. Requirements are identified with standard names and a identification scheme and include both subjective and objective measures.

An example metric for the full set of requirements: Rd2 - Requirements Consistency, Is the set of atomic requirements internally consistent, with no contradictions, no duplication between individual requirements? An example of a metric for a single requirement: Ra4 - Requirement Verifiability, How adequately can this requirement be …


Towards Improving Interface Modularity In Legacy Java Software Through Automated Refactoring, Raffi Khatchadourian, Olivia Moore, Hidehiko Masuhara Mar 2016

Towards Improving Interface Modularity In Legacy Java Software Through Automated Refactoring, Raffi Khatchadourian, Olivia Moore, Hidehiko Masuhara

Publications and Research

The skeletal implementation pattern is a software design pattern that defines an abstract class that provides a partial interface implementation. However, since Java allows only single class inheritance, if implementers decide to extend a skeletal implementation, they will not be allowed to extend any other class. Also, discovering the skeletal implementation may require a global analysis. Java 8 enhanced interfaces alleviate these problems by enabling interfaces to contain (default) method implementations, which implementers inherit. Java classes are then free to extend a different class, and a separate abstract class is no longer needed; developers considering implementing an interface need only …


An Adaptive Wireless Passive Human Detection Via Fine-Grained Physical Layer Information, Liangyi Gong, Wu Yang, Zimu Zhou, Dapeng Man, Haibin Cai, Xiancun Zhou, Zheng Yang Mar 2016

An Adaptive Wireless Passive Human Detection Via Fine-Grained Physical Layer Information, Liangyi Gong, Wu Yang, Zimu Zhou, Dapeng Man, Haibin Cai, Xiancun Zhou, Zheng Yang

Research Collection School Of Computing and Information Systems

Wireless device-free passive human detection is a key enabler for a range of indoor location-based services such as asset security, emergency responses, privacy-preserving children and elderly monitoring, etc. Since the feature of received signal varies with different multipath propagation conditions, an labor-intensive on-site calibration procedure is almost indispensable to decide the optimal scenario-specific threshold for human detection. Such overhead, however, impedes readily and fast deployment of wireless device-free human detection systems in practical indoor environments. In this work, we explore PHY layer multipath profiling information to extract a novel quantitative metric Ks as an indicator for link sensitivity, and further …


Sinabro: A Smartphone-Integrated Opportunistic Electrocardiogram Monitoring System, Sungjun Kwon, Dongseok Lee, Jeehoon Kim, Youngki Lee, Seungwoo Kang, Sangwon Seo, Kwangsuk Park Mar 2016

Sinabro: A Smartphone-Integrated Opportunistic Electrocardiogram Monitoring System, Sungjun Kwon, Dongseok Lee, Jeehoon Kim, Youngki Lee, Seungwoo Kang, Sangwon Seo, Kwangsuk Park

Research Collection School Of Computing and Information Systems

In our preliminary study, we proposed a smartphone-integrated, unobtrusive electrocardiogram (ECG) monitoring system, Sinabro, which monitors a user's ECG opportunistically during daily smartphone use without explicit user intervention. The proposed system also monitors ECG-derived features, such as heart rate (HR) and heart rate variability (HRV), to support the pervasive healthcare apps for smartphones based on the user's high-level contexts, such as stress and affective state levels. In this study, we have extended the Sinabro system by: (1) upgrading the sensor device; (2) improving the feature extraction process; and (3) evaluating extensions of the system. We evaluated these extensions with a …


Improving The Sensitivity Of Unobtrusive Inactivity Detection In Sensor-Enabled Homes For The Elderly, Alvin C. Valera, Hwee-Pink Tan, Liming Bai Mar 2016

Improving The Sensitivity Of Unobtrusive Inactivity Detection In Sensor-Enabled Homes For The Elderly, Alvin C. Valera, Hwee-Pink Tan, Liming Bai

Research Collection School Of Computing and Information Systems

Unobtrusive in-home monitoring systems are gaining acceptability and are being deployed to enable relatives and caregivers to remotely monitor and provide timely care to their elderly loved ones or senior clients, respectively, who are living independently. Such systems can provide information about nonmovement or inactivity of the elderly resident. As prolonged inactivity could mean potential danger, several algorithms have been proposed to automatically detect unusually long durations of inactivity. Such schemes, however, suffer from low sensitivity due to their high detection latency. In this paper, we propose Dwell Time-enhanced Dynamic Threshold (DTDT), a scheme for computing adaptive alert thresholds that …


Value-Inspired Service Design In Elderly Home-Monitoring Systems, Na Liu, Sandeep Purao, Hwee-Pink Tan Mar 2016

Value-Inspired Service Design In Elderly Home-Monitoring Systems, Na Liu, Sandeep Purao, Hwee-Pink Tan

Research Collection School Of Computing and Information Systems

The provision of elderly home-monitoring systems to enhance aging-in-place requires the service to meet the needs of both the elderly and their caregivers. The design of such IT services requires interdisciplinary efforts to look beyond the technical requirements. Taking a value-inspired design perspective, the study argues that service design for promoting aging-in-place needs to reconcile the values of both the elderly and caregivers. Drawn from the framework of basic human values and the unique experience of the SHINESeniors project, the study extracts the core values for elderly and caregivers using a multi-method case analysis. We suggest that both system and …


Did You Take A Break Today? Detecting Playing Foosball Using Your Smartwatch, Sougata Sen, Kiran K. Rachuri, Abhishek Mukherji, Archan Misra Mar 2016

Did You Take A Break Today? Detecting Playing Foosball Using Your Smartwatch, Sougata Sen, Kiran K. Rachuri, Abhishek Mukherji, Archan Misra

Research Collection School Of Computing and Information Systems

Prolonged working hours are a primary cause of stress, work related injuries (e.g, RSIs), and work-life imbalance in employees at a workplace. As reported by some studies, taking timely breaks from continuous work not only reduces stress and exhaustion but also improves productivity, employee bonding, and camaraderie. Our goal is to build a system that automatically detects breaks thereby assisting in maintaining healthy work-break balance. In this paper, we focus on detecting foosball breaks of employees at a workplace using a smartwatch. We selected foosball as it is one of the most commonly played games at many workplaces in the …


A More Accurate Model For Finding Tutorial Segments Explaining Apis, He Jiang, Jingxuan Zhang, Xiaochen Li, Zhilei Ren, David Lo Mar 2016

A More Accurate Model For Finding Tutorial Segments Explaining Apis, He Jiang, Jingxuan Zhang, Xiaochen Li, Zhilei Ren, David Lo

Research Collection School Of Computing and Information Systems

Developers prefer to utilize third-party libraries when they implement some functionalities and Application Programming Interfaces (APIs) are frequently used by them. Facing an unfamiliar API, developers tend to consult tutorials as learning resources. Unfortunately, the segments explaining a specific API scatter across tutorials. Hence, it remains a challenging issue to find the relevant segments. In this study, we propose a more accurate model to find the exact tutorial fragments explaining APIs. This new model consists of a text classifier with domain specific features. More specifically, we discover two important indicators to complement traditional text based features, namely co-occurrence APIs and …


A Large Scale Study Of Multiple Programming Languages And Code Quality, Pavneet Singh Kochhar, Withthige Dinusha Ruchira Wijedasa, David Lo Mar 2016

A Large Scale Study Of Multiple Programming Languages And Code Quality, Pavneet Singh Kochhar, Withthige Dinusha Ruchira Wijedasa, David Lo

Research Collection School Of Computing and Information Systems

Nowadays, most software use multiple programming languages to implement certain functionalities based on the strengths and weaknesses of different languages. Researchers in the past have studied the impact of independent programming languages on software quality, however, there has been little or no research on the impact of multiple languages on the quality of software. Does the use of multiple languages cause more bugs? Are certain languages when used with other languages make software more bug prone? What are the relationships between multi-language usage and various bug categories? In this study, we perform a large scale empirical investigation to shed light …


Human Activity Prediction By Mapping Grouplets To Recurrent Self-Organizing Map, Qianru Sun, Hong Liu, Mengyuan Liu, Tianwei Zhang Feb 2016

Human Activity Prediction By Mapping Grouplets To Recurrent Self-Organizing Map, Qianru Sun, Hong Liu, Mengyuan Liu, Tianwei Zhang

Research Collection School Of Computing and Information Systems

Human activity prediction is defined as inferring the high-level activity category with the observation of only a few action units. It is very meaningful for time-critical applications such as emergency surveillance. For efficient prediction, we represent the ongoing human activity by using body part movements and taking full advantage of inherent sequentiality, then find the best matching activity template by a proper aligning measurement.In streaming videos, dense spatio-temporal interest points (STIPs) are first extracted as low-level descriptors for their high detection efficiency. Then, sparse grouplets, i.e., clustered point groups, are located to represent body part movements, for which we propose …


Ambient And Smartphone Sensor Assisted Adl Recognition In Multi-Inhabitant Smart Environments, Nirmalya Roy, Archan Misra, Diane Cook Feb 2016

Ambient And Smartphone Sensor Assisted Adl Recognition In Multi-Inhabitant Smart Environments, Nirmalya Roy, Archan Misra, Diane Cook

Research Collection School Of Computing and Information Systems

Activity recognition in smart environments is an evolving research problem due to the advancement and proliferation of sensing, monitoring and actuation technologies to make it possible for large scale and real deployment. While activities in smart home are interleaved, complex and volatile; the number of inhabitants in the environment is also dynamic. A key challenge in designing robust smart home activity recognition approaches is to exploit the users’ spatiotemporal behavior and location, focus on the availability of multitude of devices capable of providing different dimensions of information and fulfill the underpinning needs for scaling the system beyond a single user …


Campus-Scale Mobile Crowd-Tasking: Deployment & Behavioral Insights, Thivya Kandappu, Archan Misra, Shih-Fen Cheng, Nikita Jaiman, Randy Tandriansiyah, Cen Chen, Hoong Chuin Lau, Deepthi Chander, Koustuv Dasgupta Feb 2016

Campus-Scale Mobile Crowd-Tasking: Deployment & Behavioral Insights, Thivya Kandappu, Archan Misra, Shih-Fen Cheng, Nikita Jaiman, Randy Tandriansiyah, Cen Chen, Hoong Chuin Lau, Deepthi Chander, Koustuv Dasgupta

Research Collection School Of Computing and Information Systems

Mobile crowd-tasking markets are growing at an unprecedented rate with increasing number of smartphone users. Such platforms differ from their online counterparts in that they demand physical mobility and can benefit from smartphone processors and sensors for verification purposes. Despite the importance of such mobile crowd-tasking markets, little is known about the labor supply dynamics and mobility patterns of the users. In this paper we design, develop and experiment with a realworld mobile crowd-tasking platform, called TA$Ker. Our contributions are two-fold: (a) We develop TA$Ker, a system that allows us to empirically study the worker responses to push vs. pull …


Ibed: Combining Ibea And De For Optimal Feature Selection In Software Product Line Engineering, Yinxing Xue, Jinghui Zhong, Tian Huat Tan, Yang Liu, Wentong Cai, Manman Chen, Jun Sun Jan 2016

Ibed: Combining Ibea And De For Optimal Feature Selection In Software Product Line Engineering, Yinxing Xue, Jinghui Zhong, Tian Huat Tan, Yang Liu, Wentong Cai, Manman Chen, Jun Sun

Research Collection School Of Computing and Information Systems

Software configuration, which aims to customize the software for different users (e.g., Linux kernel configuration), is an important and complicated task. In software product line engineering (SPLE), feature oriented domain analysis is adopted and feature model is used to guide the configuration of new product variants. In SPLE, product configuration is an optimal feature selection problem, which needs to find a set of features that have no conflicts and meanwhile achieve multiple design objectives (e.g., minimizing cost and maximizing the number of features). In previous studies, several multi-objective evolutionary algorithms (MOEAs) were used for the optimal feature selection problem and …


Improved Egt-Based Robustness Analysis Of Negotiation Strategies In Multiagent Systems Via Model Checking, Songzheng Song, Jianye Hao, Yang Liu, Jun Sun, Ho-Fung Leung, Jie Zhang Jan 2016

Improved Egt-Based Robustness Analysis Of Negotiation Strategies In Multiagent Systems Via Model Checking, Songzheng Song, Jianye Hao, Yang Liu, Jun Sun, Ho-Fung Leung, Jie Zhang

Research Collection School Of Computing and Information Systems

Automated negotiations play an important role in various domains modeled as multiagent systems, where agents represent human users and adopt different negotiation strategies. Generally, given a multiagent system, a negotiation strategy should be robust in the sense that most agents in the system have the incentive to choose it rather than other strategies. Empirical game-theoretic (EGT) analysis is a game-theoretic analysis approach to investigate the robustness of different strategies based on a set of empirical results. In this study, we propose that model-checking techniques can be adopted to improve EGT analysis for negotiation strategies. The dynamics of strategy profiles can …


Formalizing And Verifying Stochastic System Architectures Using Monterey Phoenix, Songzheng Song, Jiexin Zhang, Yang Liu, Mikhail Auguston, Jun Sun, Jin Song Dong, Tieming Chen Jan 2016

Formalizing And Verifying Stochastic System Architectures Using Monterey Phoenix, Songzheng Song, Jiexin Zhang, Yang Liu, Mikhail Auguston, Jun Sun, Jin Song Dong, Tieming Chen

Research Collection School Of Computing and Information Systems

The analysis of software architecture plays an important role in understanding the system structures and facilitate proper implementation of user requirements. Despite its importance in the software engineering practice, the lack of formal description and verification support in this domain hinders the development of quality architectural models. To tackle this problem, in this work, we develop an approach for modeling and verifying software architectures specified using Monterey Phoenix (MP) architecture description language. MP is capable of modeling system and environment behaviors based on event traces, as well as supporting different architecture composition operations and views. First, we formalize the syntax …


Empirical Investigation Of Key Business Factors For Digital Game Performance, Saiqa Alemm, Luiz Fernando Capretz, Faheem Ahmed Jan 2016

Empirical Investigation Of Key Business Factors For Digital Game Performance, Saiqa Alemm, Luiz Fernando Capretz, Faheem Ahmed

Electrical and Computer Engineering Publications

Game development is an interdisciplinary concept that embraces software engineering, business, management, and artistic disciplines. This research facilitates a better understanding of the business dimension of digital games. The main objective of this research is to investigate empirically the effect of business factors on the performance of digital games in the market and to answer the research questions asked in this study. Game development organizations are facing high pressure and competition in the digital game industry. Business has become a crucial dimension, especially for game development organizations. The main contribution of this paper is to investigate empirically the influence of …


Gone In 200 Milliseconds: The Challenge Of Blocking Malvertising, Catherine Dwyer, Ameet Kanguri Jan 2016

Gone In 200 Milliseconds: The Challenge Of Blocking Malvertising, Catherine Dwyer, Ameet Kanguri

Student and Faculty Research Days

Online advertising is a multi-billion dollar global industry that lets advertisers serve ads to specific customers of interest as they browse the web. Using real time bidding (RTB), as web visitors land on a site, advertising networks are alerted of space available and whatever profile information can be gleaned about the visitor. Ad networks then auction this combination of space and profile through ad exchanges, and the winning bid's ad content is served to the web visitor. The entire process, from a visitor landing on a publisher's page to ads being auctioned, takes 200 milliseconds--the time needed to snap your …


We Can Hear You With Wi-Fi!, Guanhua Wang, Yongpan Zou, Zimu Zhou, Kaishun Wu, Lionel M. Ni Jan 2016

We Can Hear You With Wi-Fi!, Guanhua Wang, Yongpan Zou, Zimu Zhou, Kaishun Wu, Lionel M. Ni

Research Collection School Of Computing and Information Systems

Recent literature advances Wi-Fi signals to “see” people’s motions and locations. This paper asks the following question: Can Wi-Fi “hear” our talks? We present WiHear, which enables Wi-Fi signals to “hear” our talks without deploying any devices. To achieve this, WiHear needs to detect and analyze fine-grained radio reflections from mouth movements. WiHear solves this micro-movement detection problem by introducing Mouth Motion Profile that leverages partial multipath effects and wavelet packet transformation. Since Wi-Fi signals do not require line-of-sight, WiHear can “hear” people talks within the radio range. Further, WiHear can simultaneously “hear” multiple people’s talks leveraging MIMO technology. We …


Demo: Real-World Deployment Of Seat Occupancy Detectors, Nguyen Huy Hoang Nguyen, Gihan Hettiarachchi, Youngki Lee, Rajesh Krishna Balan Jan 2016

Demo: Real-World Deployment Of Seat Occupancy Detectors, Nguyen Huy Hoang Nguyen, Gihan Hettiarachchi, Youngki Lee, Rajesh Krishna Balan

Research Collection School Of Computing and Information Systems

Detecting occupancy of seats in library is important for librarians to check seats’ usage, and for students to find available seats in crowded time. In our prior work [1], we presented in-lab micro benchmarks to show feasibility of capacitive sensing for seat occupancy detection. In this demo paper, we present larger scale real-world deployment of occupancy detection system and its performance.


Chillisource Game Engine Particle System Study, Angela Gross Jan 2016

Chillisource Game Engine Particle System Study, Angela Gross

Graduate Student Theses, Dissertations, & Professional Papers

The majority of modern game engines utilize intricate objects called particle systems which are a collection of many particles that together represent an object without well-defined surfaces. This thesis discusses the results of studying and stressing particle systems within ChilliSource, an open-source game engine written in C++, with the goal of understanding a complex system and exploring possible optimizations that could be made to it. The studies performed were driven by metrics generated with custom profiling classes that kept track of things like the number of particles rendered, how long the engine spent rendering particles, or even how long a …


Capturing, Eliciting, And Prioritizing (Cep) Non-Functional Requirements Metadata During The Early Stages Of Agile Software Development, Richard Rabin Maiti Jan 2016

Capturing, Eliciting, And Prioritizing (Cep) Non-Functional Requirements Metadata During The Early Stages Of Agile Software Development, Richard Rabin Maiti

CCAC Theses and Dissertations

Agile software engineering has been a popular methodology to develop software rapidly and efficiently. However, the Agile methodology often favors Functional Requirements (FRs) due to the nature of agile software development, and strongly neglects Non-Functional Requirements (NFRs). Neglecting NFRs has negative impacts on software products that have resulted in poor quality and higher cost to fix problems in later stages of software development.

This research developed the CEP “Capture Elicit Prioritize” methodology to effectively gather NFRs metadata from software requirement artifacts such as documents and images. Artifact included the Optical Character Recognition (OCR) artifact which gathered metadata from images. The …


Automatically Defined Templates For Improved Prediction Of Non-Stationary, Nonlinear Time Series In Genetic Programming, David Moskowitz Jan 2016

Automatically Defined Templates For Improved Prediction Of Non-Stationary, Nonlinear Time Series In Genetic Programming, David Moskowitz

CCAC Theses and Dissertations

Soft methods of artificial intelligence are often used in the prediction of non-deterministic time series that cannot be modeled using standard econometric methods. These series, such as occur in finance, often undergo changes to their underlying data generation process resulting in inaccurate approximations or requiring additional human judgment and input in the process, hindering the potential for automated solutions.

Genetic programming (GP) is a class of nature-inspired algorithms that aims to evolve a population of computer programs to solve a target problem. GP has been applied to time series prediction in finance and other domains. However, most GP-based approaches to …


Data Persistence In Eiffel, Jimmy J. Johnson Jan 2016

Data Persistence In Eiffel, Jimmy J. Johnson

Theses and Dissertations--Computer Science

This dissertation describes an extension to the Eiffel programming language that provides automatic object persistence (the ability of programs to store objects and later recreate those objects in a subsequent execution of a program). The mechanism is orthogonal to other aspects of the Eiffel language. The mechanism serves four main purposes: 1) it gives Eiffel programmers a needed service, filling a gap between serialization, which provides limited persistence functions and database-mapping, which is cumbersome to use; 2) it greatly reduces the coding burden incurred by the programmer when objects must persist, allowing the programmer to focus instead on the business …


An Optical Character Recognition Engine For Graphical Processing Units, Jeremy Reed Jan 2016

An Optical Character Recognition Engine For Graphical Processing Units, Jeremy Reed

Theses and Dissertations--Computer Science

This dissertation investigates how to build an optical character recognition engine (OCR) for a graphical processing unit (GPU). I introduce basic concepts for both building an OCR engine and for programming on the GPU. I then describe the SegRec algorithm in detail and discuss my findings.


Spest – A Tool For Specification-Based Testing, Corrigan Redford Johnson Jan 2016

Spest – A Tool For Specification-Based Testing, Corrigan Redford Johnson

Master's Theses

This thesis presents a tool for SPEcification based teSTing (SPEST). SPEST is designed to use well known practices for automated black-box testing to reduce the burden of testing on developers. The tool uses a simple formal specification language to generate highly-readable unit tests that embody best practices for thorough software testing. Because the specification language used to generate the assertions about the code can be compiled, it can also be used to ensure that documentation describing the code is maintained during development and refactoring.

The utility and effectiveness of SPEST were validated through several exper- iments conducted with students in …