Emily Rowan Winter

Dr. Emily Rowan Winter


Research Focus & Metrics

Academic Career Length

11Years (2016-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
5 April 2021 in IEEE Software
Verified
Journal Article
Closed access
SKSerkan Kirbas
Serkan Kirbas
EWEtienne Windels
Etienne Windels
OMOlayori McBello
Olayori McBello
KKKevin Kells
Kevin Kells
MPMatthew Pagano
Matthew Pagano
JWJohn Woodward
John Woodward
A key to the success of automatic program repair (APR) techniques is how easily they can be used in an industrial setting. In this article, we describe a collaboration by a team from four U.K.-based universities with Bloomberg (London) in implementing automatic, highquality fixes to its code base. We explain the motivation for adopting APR, the mechanics of the prototype tool that was built, and the practicalities of integrating APR into existing systems.

11 October 2018
Verified
Conference Paper
Open access
EWEmily Rowan Winter
Emily Rowan Winter
SFSteve Forshaw
Steve Forshaw
MFMaria Angela Ferrario
Maria Angela Ferrario

27 July 2022 in IEEE Transactions on Software Engineering
Verified
Journal Article
Open access
EWEmily Rowan Winter
Emily Rowan Winter
DBDavid Bowes
David Bowes
SCSteve Counsell
Steve Counsell
THTracy Hall
Tracy Hall
SHSæmundur Haraldsson
Sæmundur Haraldsson
JWJohn Woodward
John Woodward
Automatic program repair (APR) is a rapidly advancing field of software engineering that aims to supplement or replace manual bug fixing with an automated tool. For APR to be successfully adopted in industry, it is vital that APR tools respond to developer needs and preferences. However, very little research has considered developers' general attitudes to APR or developers' current bug fixing practices (the activity APR aims to replace). This paper responds to this gap by reporting on a survey of 386 software developers about their bug finding and fixing practices and experiences, and their instinctive attitudes towards APR. We find that bug finding and fixing is not necessarily as onerous for developers as has often been suggested, being rated as more satisfying than developers' general work. The fact that developers derive satisfaction and benefit from bug fixing indicates that APR adoption is not as simple as APR replacing an unwanted activity. When it comes to potential APR approaches, we find a strong preference for developers being kept in the loop (for example, choosing between different fixes or validating fixes) as opposed to a fully automated process. This suggests that advances in APR should be careful to consider the agency of the developer, as well as what information is presented to developers alongside fixes. It also indicates that there are key barriers related to trust that would need to be overcome for full scale APR adoption, supported by the fact that even those developers who stated that they were positive about APR listed several caveats and concerns. We find very few statistically significant relationships between particular demographic variables (for example, developer experience, age, education) and key attitudinal variables, suggesting that developers' instinctive attitudes towards APR are little influenced by experience level but are held widely across the developer community.

18 June 2024
Verified
Conference Paper
Open access
GBGareth Bennett
Gareth Bennett
THTracy Hall
Tracy Hall
EWEmily Rowan Winter
Emily Rowan Winter
SCSteve Counsell
Steve Counsell
Vulnerabilities in code should be detected and patched quickly to reduce the time in which they can be exploited. There are many automated approaches to assist developers in detecting vulnerabilities, most notably Static Application Security Testing (SAST) tools. However, no single tool detects all vulnerabilities and so relying on any one tool may leave vulnerabilities dormant in code. In this study, we use a manually curated dataset to evaluate four SAST tools on production code with known vulnerabilities. Our results show that the vulnerability detection rates of individual tools range from 11.2% to 26.5%, but combining these four tools can detect 38.8% of vulnerabilities. We investigate why SAST tools are unable to detect 61.2% of vulnerabilities and identify missing vulnerable code patterns from tool rule sets. Based on our findings, we create new rules for Semgrep, a popular configurable SAST tool. Our newly configured Semgrep tool detects 44.7% of vulnerabilities, more than using a combination of tools, and a 181% improvement in Semgrep’s detection rate.

16 February 2022 in IEEE Transactions on Software Engineering
Verified
Journal Article
Open access
EWEmily Rowan Winter
Emily Rowan Winter
VNVesna Nowack
Vesna Nowack
DBDavid Bowes
David Bowes
SCSteve Counsell
Steve Counsell
THTracy Hall
Tracy Hall
JWJohn Woodward
John Woodward
Automatic program repair (APR) offers significant potential for automating some coding tasks. Using APR could reduce the high costs historically associated with fixing code faults and deliver significant benefits to software engineering. Adopting APR could also have profound implications for software developers daily activities, transforming their work practices. To realise the benefits of APR it is vital that we consider how developers feel about APR and the impact APR may have on developers' work. Developing APR tools without consideration of the developer is likely to undermine the success of APR deployment. In this paper, we critically review how developers are considered in APR research by analysing how human factors are treated in 260 studies from Monperrus's Living Review of APR. Over half of the 260 studies in our review were motivated by a problem faced by developers (e.g., the difficulty associated with fixing faults). Despite these human-oriented motivations, fewer than 7% of the 260 studies included a human study. We looked in detail at these human studies and found their quality mixed (for example, one human study was based on input from only one developer). Our results suggest that software developers are often talked about in APR studies, but are rarely talked with. A more comprehensive and reliable understanding of developer human factors in relation to APR is needed. Without this understanding, it will be difficult to develop APR tools and techniques which integrate effectively into developers' workflows. We recommend a future research agenda to advance the study of human factors in APR.

1 May 2019
Verified
Conference Paper
Closed access
EWEmily Rowan Winter
Emily Rowan Winter
SFStephen Forshaw
Stephen Forshaw
LHLucy Hunt
Lucy Hunt
MFMaria Angela Ferrario
Maria Angela Ferrario
This paper makes the case for the study of human values in Software Engineering (SE) as a highly important emerging area of research with significant societal implications. We offer two key principles in order to advance this research agenda: firstly, the significance of values as distinguished from, though connected to, ethics; and secondly, the need for clear theoretical frameworks for values study. We provide the emerging findings from an initial study (N=12 participants) using a Values Q-Sort tool that was designed in accordance with these two principles. We conclude with discussion around lessons learnt, ongoing challenges, and future directions.