Agnieszka Ciborowska

dblp:223/4519 · DBLP profile ↗
← Back
6ranked-venue papers
3as first author
3since 2021 · last 2022
0000-0001-8235-8353ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 3 first-author · 3 since 2021Databases, data management, data science and information retrieval · 3 · 1 first-author · 1 since 2021Human-computer interaction and ubiquitous computing · 1
YearPublicationVenuePosition
2022 Fast Changeset-based Bug Localization with BERT
abstract
Automatically localizing software bugs to the changesets that induced them has the potential to improve software developer efficiency and to positively affect software quality. To facilitate this automation, a bug report has to be effectively matched with source code changes, even when a significant lexical gap exists between natural language used to describe the bug and identifier naming practices used by developers. To bridge this gap, we need techniques that are able to capture software engineering-specific and project-specific semantics in order to detect relatedness between the two types of documents that goes beyond exact term matching. Popular transformer-based deep learning architectures, such as BERT, excel at leveraging contextual information, hence appear to be a suitable candidate for the task. However, BERT-like models are computationally expensive, which precludes them from being used in an environment where response time is important.
Agnieszka Ciborowska, Kostadin Damevski
ICSE1
2021 Contemporary COBOL: Developers' Perspectives on Defects and Defect Location
abstract
Mainframe systems are facing a critical shortage of developer workforce as the current generation of COBOL developers retires. Furthermore, due to the limited availability of public COBOL resources, entry-level developers, who assume the mantle of legacy COBOL systems maintainers, face significant difficulties during routine maintenance tasks, such as code comprehension and defect location. While we made substantial advances in the field of software maintenance for modern programming languages yearly, mainframe maintenance has received limited attention. With this study, we aim to direct the attention of researchers and practitioners towards investigating and addressing challenges associated with mainframe development. Specifically, we explore the scope of defects affecting COBOL systems and defect location strategies commonly followed by COBOL developers and compare them with the modern programming language counterparts. To this end, we surveyed 30 COBOL and 74 modern Programming Language (PL) developers to understand the differences in defects and defect location strategies employed by the two groups. Our preliminary results show that: (1) major defect categories affecting the COBOL ecosystem are different than defects encountered in modern PL software projects; (2) the most challenging defect types in COBOL are also the ones that occur most frequently; and (3) COBOL and modern PL developers follow similar strategies to locate defective code.
Agnieszka Ciborowska, Aleksandar Chakarov, Rahul Pandita
ICSME1
2021 Automatically Selecting Follow-up Questions for Deficient Bug Reports
abstract
The availability of quality information in bug reports that are created daily by software users is key to rapidly fixing software faults. Improving incomplete or deficient bug reports, which are numerous in many popular and actively developed open source software projects, can make software maintenance more effective and improve software quality. In this paper, we propose a system that addresses the problem of bug report incompleteness by automatically posing follow-up questions, intended to elicit answers that add value and provide missing information to a bug report. Our system is based on selecting follow-up questions from a large corpus of already posted follow-up questions on GitHub. To estimate the best follow-up question for a specific deficient bug report we combine two metrics based on: 1) the compatibility of a follow-up question to a specific bug report; and 2) the utility the expected answer to the follow-up question would provide to the deficient bug report. Evaluation of our system, based on a manually annotated held-out data set, indicates improved performance over a set of simple and ablation baselines. A survey of software developers confirms the held-out set evaluation result that about half of the selected follow-up questions are considered valid. The survey also indicates that the valid follow-up questions are useful and can provide new information to a bug report most of the time, and are specific to a bug report some of the time.
Mia Mohammad Imran, Agnieszka Ciborowska, Kostadin Damevski
MSR2
2019 Using Automated Prompts for Student Reflection on Computer Security Concepts
abstract
Reflection is known to be an effective means to improve students' learning. In this paper, we aim to foster meaningful reflection via prompts in computer science courses with a significant practical, software development component. To this end we develop an instructional strategy and system that automatically delivers prompts to students based on their commits in a source code repository. The system allows for prompts that instigate reflection in students to be timely with respect to students' work, and delivered automatically, thus easily scaling up the strategy.
Hui Chen 0001, Agnieszka Ciborowska, Kostadin Damevski
ITiCSE2
2019 Characterizing duplicate code snippets between stack overflow and tutorials
abstract
Developers are usually unaware of the quality and lineage of information available on popular Web resources, leading to potential maintenance problems and license violations when reusing code snippets from these resources. In this paper, we study the duplication of code snippets between two popular sources of software development information: the Stack Overflow Q a significant number (31%) of answers that contained a duplicate code block were chosen as the accepted answer. Qualitative analysis reveals that developers commonly use Stack Overflow to ask clarifying questions about code they reused from tutorials, and copy code snippets from tutorials to provide answers to questions.
Manziba Akanda Nishi, Agnieszka Ciborowska, Kostadin Damevski
MSR2
2018 Detecting and characterizing developer behavior following opportunistic reuse of code snippets from the web
abstract
Modern software development is social and relies on many online resources and tools. In this paper, we study opportunistic code reuse from the Web, e.g., when developers copy code snippets from popular Q&A sites and paste them into their projects. Our focus is the behavior of developers following opportunistic code reuse, which reveals the success or failure of the action. We study developer behavior via a large, representative dataset of micro-interactions in the IDE. Our analysis of developer behavior exhibited in this dataset confirms laboratory study observations that code reuse from the Web is followed by heavy editing, in some cases by a rapid undo, and rarely by the execution of tests.
Agnieszka Ciborowska, Nicholas A. Kraft, Kostadin Damevski
MSR1