Mark Sherriff
University of Virginia
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Mark Sherriff.
technical symposium on computer science education | 2002
Nick Parlante; Julie Zelenski; Peter-Michael Osera; Marty Stepp; Mark Sherriff; Luther A. Tychonievich; Ryan M. Layer; Suzanne J. Matthews; Allison Obourn; David Raymond; Josh Hug; Stuart Reges
Creating assignments is a difficult and time consuming part of teaching Computer Science. Nifty Assignments is a forum, operating at a very practical level, to promote the sharing of assignment ideas and assignment materials.Each presenter will introduce their assignment, give a quick demo, and describe its niche in the curriculum and its strengths and weaknesses. The presentations (and the descriptions below) merely introduce each assignment. For more detail, each assignment has its own web page with more detailed information and assignment materials such as handouts and data files to aid the adoption of the assignment. Information on participating in Nifty Assignments as well as all the assignment pages are available from our central page… http://cse.stanford.edu/nifty/
international symposium on software reliability engineering | 2007
Mark Sherriff; Mike Lake; Laurie Williams
During development and testing, changes made to a system to repair a detected fault can often inject a new fault into the code base. These injected faults may not be in the same files that were just changed, since the effects of a change in the code base can have ramifications in other parts of the system. We propose a methodology for determining the effect of a change and then prioritizing regression test cases by gathering software change records and analyzing them through singular value decomposition. This methodology generates clusters of files that historically tend to change together. Combining these clusters with test case information yields a matrix that can be multiplied by a vector representing a new system modification to create a prioritized list of test cases. We performed a post hoc case study using this technique with three minor releases of a software product at IBM. We found that our methodology suggested additional regression tests in 50% of test runs and that the highest-priority suggested test found an additional fault 60% of the time.
international conference on software testing, verification, and validation | 2008
Mark Sherriff; Laurie Williams
Verification and validation techniques often generate various forms of software development artifacts. Change records created from verification and validation efforts show how files in the system tend to change together in response to fixes for identified faults and failures. We propose a methodology for determining the impact of a new system modification by analyzing software change records through singular value decomposition. This methodology generates clusters of files that historically tend to change together to address faults and failures found in the code base. We performed a post hoc case study using this technique on five open source software systems. We determined that our technique was effective in identifying impacted files in a system from an introduced change when the developers tended to make small, targeted updates to the source system regularly. We further compared our technique against two other impact analysis techniques (Pathlmpact and Coveragelmpact) and found that our technique provided comparable results, while also identifying non-source files that could be impacted by the change.
conference on software engineering education and training | 2010
Michael W. Lew; Thomas B. Horton; Mark Sherriff
This paper describes the benefits of using LeJOS and the Lego Mindstorms NXT set for teaching advanced software development. While Lego Mindstorms has been used in introduction to computer science courses, it is not reported to be widely used in a simulated production environment requiring such things as threading, network communications, and the implementation of command protocols. Additionally, because the Mindstorms NXT system supports Bluetooth communications with multiple devices, it is possible to use this system as the basis for a complex, communicating system requiring multiple software artifacts on different machines.
systems and information engineering design symposium | 2013
Michael Y. Chen; Derrick H. Edwards; Erin L. Boehmer; Nathan M. Eller; James T. Slack; Christian R. Speck; Sean M. Brown; Hunter G. Williams; Samuel H. Wilson; Christopher S. Gillum; Greg Lewin; Mark Sherriff; Gavin T. Garner
The United States creates or acquires increasingly more complex intelligence, surveillance, and reconnaissance (ISR) systems to maintain a strong, leading presence within the world. As a result, ISR systems have become more costly and difficult to manage. The research team focused on continuing previous year efforts of another team to utilize commercial off-the-shelf (COTS) technologies in the development of more flexible and cost-effective ISR systems. The primary goal was to design and implement an autonomous quadcopter that integrated an Android smartphone, an Arduino microcontroller, and several ultrasonic sensors to independently explore and map an unknown area. The project was broken down into three main tasks: construction of the quadcopter and integration of ultrasonic sensors, Android phone, and Arduino microcontroller, development of an Android application that generates navigation commands and avoids collisions, and development of an Android application that uses sensor data for Simultaneous Localization and Mapping (SLAM). This project, a proof-of-concept of a quadcopter system for autonomous navigation and mapping of an unknown environment, demonstrates the feasibility of developing inexpensive ISR systems with commercially available products. The team also found that the Arduino-Android interface was quite complex and caused issues with basic flight stability. The team also found that ultrasonic sensors were capable of partial SLAM by producing rudimentary maps under controlled conditions and simulated stable flight. However, the inexpensive sensors are unlikely to yield the detailed maps necessary for autonomous flight or actionable navigation information.
international symposium on software reliability engineering | 2008
Fred Dysart; Mark Sherriff
A critical problem facing todaypsilas Internet community is the increasing number of attacks exploiting flaws found in Web applications. This paper specifically targets input validation vulnerabilities found in SQL queries that may lead to SQL Injection Attacks (SQLIAs). We introduce a tool that automatically detects and suggests fixes to SQL queries that are found to contain SQL Injection Vulnerabilities (SQLIVs). Testing was performed against phpBB v2.0, an open source forum package, to determine the accuracy and efficacy of our software.
advances in model based software testing | 2005
Mark Sherriff; Nachiappan Nagappan; Laurie Williams; Mladen A. Vouk
Early estimation of defect density of a product is an important step towards the remediation of the problem associated with affordably guiding corrective actions in the software development process. This paper presents a suite of in-process metrics that leverages the software testing effort to create a defect density prediction model for use throughout the software development process. A case study conducted with Galois Connections, Inc. in a Haskell programming environment indicates that the resulting defect density prediction is indicative of the actual system defect density.
technical symposium on computer science education | 2014
Aaron Bloomfield; Mark Sherriff; Kara Williams
We present the design and execution of a Service Learning Practicum (SLP) course sequence intended to be year-long capstone for computer science seniors. Students are teamed into groups of six, and develop software for local nonprofit organizations. In addition to the structure of the course, we describe the challenges faced (legal, organizational, etc.), student perceptions via survey results, and provide a number of suggestions for other institutions who are looking to create a similar course sequence. At the end of the cap- stone experience, the customers are provided with working software that meet their current needs.
technical symposium on computer science education | 2010
Joshua Sennett; Mark Sherriff
This paper details the results of an investigation into the compatibility of partnered computer science students. The study involved approximately 290 students at the University of Virginia (UVA). This study builds on the work of researchers at North Carolina State University (NCSU). NCSU researchers have conducted a number of studies on the compatibility of pair programmers. We examined many of the factors that the NCSU researchers explored in their studies (including personality type, learning style, skill level, programming self esteem, work ethic, and time management choices) in order to determine whether the conclusions of the research at NCSU also hold true at UVA. Consistent with the NCSU studies, we found that skill level continues to be the most important factor in student compatibility.
systems and information engineering design symposium | 2014
Carolyn Pearce; Margaret Guckenberg; Bobby Holden; Andrew Leach; Ryan Hughes; Connie Xie; Meredith Hassett; Andrew Adderley; Laura E. Barnes; Mark Sherriff; Gregory C. Lewin
Intelligence gathering is a critical component of military operations. Unmanned aerial vehicles (UAVs) have become an increasingly useful tool due to their surveillance and reconnaissance capabilities. However, the use of many of these vehicles is limited to outdoor environments because of their size and reliance on Global Positioning Satellites (GPS). Knowledge of indoor environments is important so that the risk of entering an unsafe or unknown building can be minimized. This paper describes the development of a spatially aware, autonomous quadcopter that uses an Android control system and functions indoors. The system consists of a laser rangefinder for sensory input, a IOIO microcontroller for data communication across platforms, an autopilot system (APM) for flight control, and an Android phone for mission control. The Android Control and Sensor System (ACSS) is currently being developed by the Department of Defense (DOD), MITRE, and academic partners, and will be integrated into the solution. To be considered autonomous, the quadcopter must be able to make a map from the data provided by the laser rangefinder, determine its own location and position in that map, and then execute a set of navigational commands from the Android control system. The success of this project is measured by the systems ability to travel autonomously while simultaneously creating a map and being aware of its location.