Chris Parnin

ORCID: 0000-0001-6182-815X
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Software Engineering Research
  • Software Engineering Techniques and Practices
  • Software System Performance and Reliability
  • Advanced Malware Detection Techniques
  • Open Source Software Innovations
  • Scientific Computing and Data Management
  • Software Testing and Debugging Techniques
  • Online Learning and Analytics
  • EEG and Brain-Computer Interfaces
  • Software Reliability and Analysis Research
  • Teaching and Learning Programming
  • Personal Information Management and User Behavior
  • Advanced Software Engineering Methodologies
  • Digital Games and Media
  • Social Media and Politics
  • Usability and User Interface Design
  • Intelligent Tutoring Systems and Adaptive Learning
  • Hate Speech and Cyberbullying Detection
  • Data Visualization and Analytics
  • AI in Service Interactions
  • Neural and Behavioral Psychology Studies
  • Wikis in Education and Collaboration
  • Innovative Teaching and Learning Methods
  • Gaze Tracking and Assistive Technology
  • Information and Cyber Security

Microsoft (United States)
2023-2024

North Carolina State University
2014-2022

North Central State College
2017-2022

Georgia Institute of Technology
2006-2014

Atlanta Technical College
2013

Debugging is notoriously difficult and extremely time consuming. Researchers have therefore invested a considerable amount of effort in developing automated techniques tools for supporting various debugging tasks. Although potentially useful, most these yet to demonstrate their practical effectiveness. One common limitation existing approaches, instance, reliance on set strong assumptions how developers behave when (e.g., the fact that examining faulty statement isolation enough developer...

10.1145/2001420.2001445 article EN 2011-07-17

Refactoring is widely practiced by developers, and considerable research development effort has been invested in refactoring tools. However, little reported about the adoption of tools, many assumptions practice have empirical support. In this paper, we examine tool usage evaluate some made other researchers. To measure usage, randomly sampled code changes from four Eclipse eight Mylyn developers ascertained, for each refactoring, if it was performed manually or with We found that tools are...

10.1109/tse.2011.41 article EN IEEE Transactions on Software Engineering 2011-12-29

Biases against women in the workplace have been documented a variety of studies. This paper presents large scale study on gender bias, where we compare acceptance rates contributions from men versus an open source software community. Surprisingly, our results show that women’s tend to be accepted more often than men’s. However, for contributors who are outsiders project and their is identifiable, men’s higher. Our suggest although GitHub may competent overall, bias them exists nonetheless.

10.7717/peerj-cs.111 article EN cc-by PeerJ Computer Science 2017-05-01

Program comprehension is an important cognitive process that inherently eludes direct measurement. Thus, researchers are struggling with providing suitable programming languages, tools, or coding conventions to support developers in their everyday work. In this paper, we explore whether functional magnetic resonance imaging (fMRI), which well established neuroscience, feasible soundly measure program comprehension. a controlled experiment, observed 17 participants inside fMRI scanner while...

10.1145/2568225.2568252 article EN Proceedings of the 44th International Conference on Software Engineering 2014-05-20

Practitioners use infrastructure as code (IaC) scripts to provision servers and development environments. While developing IaC scripts, practitioners may inadvertently introduce security smells. Security smells are recurring coding patterns that indicative of weakness can potentially lead breaches. The goal this paper is help avoid insecure practices while through an empirical study in scripts. We apply qualitative analysis on 1,726 identify seven Next, we implement validate a static tool...

10.1109/icse.2019.00033 article EN 2019-05-01

Much of what we know about how programmers refactor in the wild is based on studies that examine just a few software projects. Researchers have rarely taken time to replicate these other contexts or assumptions which they are based. To help put refactoring research sound scientific basis, draw conclusions using four data sets spanning more than 13 000 developers, 240 tool-assisted refactorings, 2500 developer hours, and 3400 version control commits. Using data, cast doubt several previously...

10.1109/icse.2009.5070529 article EN 2009-01-01

Developers neglect to update legacy software dependencies, resulting in buggy and insecure software. One explanation for this is the difficulty of constantly checking availability new updates, verifying their safety, addressing any migration efforts needed when upgrading a dependency. Emerging tools attempt address problem by introducing automated pull requests project badges inform developer stale dependencies. To understand whether these actually help developers, we analyzed 7,470 GitHub...

10.1109/ase.2017.8115621 article EN 2017-10-01

Software debugging is tedious and time consuming. To reduce the manual effort needed for debugging, researchers have proposed a considerable number of techniques to automate process fault localization; in particular, based on information retrieval (IR) drawn increased attention recent years. Although reportedly effective, these some potential limitations that may affect their performance. First, effectiveness likely depend heavily quality bug reports; unfortunately, high-quality reports...

10.1145/2771783.2771797 article EN 2015-07-10

Software development blogs, developer forums and Q&A websites are changing the way software is documented. With these tools, developers can create communicate knowledge experiences without relying on a central authority to provide official documentation. Instead, any content created by just web search away. To understand whether documentation via social media replace or augment more traditional forms of documentation, we study extent which methods one particular API - jQuery documented Web....

10.1145/1984701.1984706 article EN 2011-05-24

It is no secret that females engage less in programming fields than males. However, online communities, such as Stack Overflow, this gender gap even more extreme: only 5.8% of contributors are female. In paper, we use a mixed-methods approach to identify contribution barriers face communities. Through 22 semi-structured interviews with spectrum female users ranging from non-contributors top 100 ranked user all time, identified 14 preventing them contributing Overflow. We then conducted...

10.1145/2950290.2950331 article EN 2016-11-01

Most modern software programs cannot be understood in their entirety by a single programmer. Instead, programmers must rely on set of cognitive processes that aid seeking, filtering, and shaping relevant information for given programming task. Several theories have been proposed to explain these processes, such as ``beacons,' locating code, ``plans,'' encoding models. However, are decades old lack validation with cognitive-neuroscience methods. In this paper, we report study using functional...

10.1145/3106237.3106268 article EN 2017-08-02

Stack Overflow is a learning community for software developers to share and solve programming problems with each other. However, women are often deterred from contributing questions or answers. Research external communities suggest the presence of peers can increase activity underrepresented users in unfamiliar spaces. To investigate concept peer parity, we studied how participate on if more thread enhanced their activity. We found that who encountered other were likely engage sooner than...

10.1109/vlhcc.2017.8103473 article EN 2017-10-01

Continuous deployment involves automatically testing incremental software changes and frequently deploying them to production environments. With it, developers' can reach customers in days or even hours. Such ultrafast create a new reality development. To understand the emerging practices surrounding continuous deployment, researchers facilitated one-day Deployment Summit at Facebook campus July 2015, which participants from 10 companies described how they used deployment. From resulting...

10.1109/ms.2017.86 article EN IEEE Software 2017-05-01

In integrated development environments, developers receive compiler error messages through a variety of textual and visual mechanisms, such as popups wavy red underlines. Although are the primary means communicating defects to developers, researchers have limited understanding on how actually use these resolve defects. To understand messages, we conducted an eye tracking study with 56 participants from undergraduate graduate software engineering courses at our university. The attempted...

10.1109/icse.2017.59 article EN 2017-05-01

Continuous deployment speeds up the process of existing agile methods, such as Scrum, and Extreme Programming (XP) through automatic software changes to end-users upon passing automated tests. has become an emerging engineering amongst numerous companies, Facebook, Github, Netflix, Rally Software. A systematic analysis practices used in continuous can facilitate a better understanding process. Such also help practitioners having shared vocabulary choosing that they use implement deployment....

10.1109/agile.2015.12 article EN Agile Conference 2015-08-01

Program comprehension is an important, but hard to measure cognitive process. This makes it difficult provide suitable programming languages, tools, or coding conventions support developers in their everyday work. Here, we explore whether functional magnetic resonance imaging (fMRI) feasible for soundly measuring program comprehension. To this end, observed 17 participants inside fMRI scanner while they were comprehending source code. The results show a clear, distinct activation of five...

10.1109/tse.2018.2863303 article EN publisher-specific-oa IEEE Transactions on Software Engineering 2018-08-06

Bots have been proposed as a way to encourage developer actions and support software development activities. Many bots make recommendations users, however humans may find these ineffective or problematic. In this paper, we argue that while can help automate many tasks, ultimately still need ways interact with handle all of the associated social cognitive problems entailed. To illustrate problem, performed small study where generated 52 pull requests making tool recommendation developers. As...

10.1109/botse.2019.00021 article EN 2019-05-01

Context: Security smells are recurring coding patterns that indicative of security weakness and require further inspection. As infrastructure as code (IaC) scripts, such Ansible Chef used to provision cloud-based servers systems at scale, in IaC scripts could be enable malicious users exploit vulnerabilities the provisioned systems. Goal: The goal this article is help practitioners avoid insecure practices while developing through an empirical study scripts. Methodology: We conduct a...

10.1145/3408897 article EN ACM Transactions on Software Engineering and Methodology 2021-01-20

Background: Researchers and practitioners have been using code complexity metrics for decades to predict how developers comprehend a program. While it is plausible tempting use this purpose, their validity debated, since they rely on simple properties rarely consider particularities of human cognition. Aims: We investigate whether reflect difficulty program comprehension. Method: conducted functional magnetic resonance imaging (fMRI) study with 19 participants observing comprehension short...

10.1109/icse43902.2021.00056 article EN 2021-05-01

10.1007/s11219-010-9104-9 article EN Software Quality Journal 2010-08-09

Online question-and-answer (Q&A) communities like Stack Overflow have norms that are not obvious to novice users. Novices create and post programming questions without feedback, the community enforces site through public downvoting commenting. This can leave novices discouraged from further participation. We deployed a month long, just-in-time mentorship program in which we redirected process of asking question an on-site Help Room. There, received feedback on their drafts experienced...

10.1145/3173574.3174182 article EN 2018-04-20

Problem-solving on a whiteboard is popular technical interview technique used in industry. However, several critics have raised concerns that interviews can cause excessive stress and cognitive load candidates, ultimately reinforcing bias hiring practices. Unfortunately, many sensors for measuring state are not robust to movement. In this paper, we describe an approach where use head-mounted eye-tracker computer vision algorithms collect metrics of state. To demonstrate the feasibility...

10.1145/3183399.3183415 article EN 2018-05-27

Platforms like Stack Overflow and GitHub's gist system promote the sharing of ideas programming techniques via distribution code snippets designed to illustrate particular tasks. Python, a popular fast-growing language, sees heavy use on both sites, with nearly one million questions asked 400 thousand public gists GitHub. Unfortunately, around 75% Python example shared through these sites cannot be directly executed. When run in clean environment, over 50% fail due an import error for...

10.1109/icse.2019.00047 article EN 2019-05-01

Defects in infrastructure as code (IaC) scripts can have serious consequences, for example, creating large-scale system outages. A taxonomy of IaC defects be useful understanding the nature defects, and identifying activities needed to fix prevent scripts. The goal this paper is help practitioners improve quality by developing a defect through qualitative analysis. We develop applying analysis on 1,448 defect-related commits collected from open source software (OSS) repositories Openstack...

10.1145/3377811.3380409 article EN 2020-06-27

Despite its ubiquity in the workforce, spreadsheet programming remains challenging as programmers need both spreadsheet-specific knowledge (e.g., APIs to write formulas) and problem-solving skills create complex spreadsheets. Large language models (LLMs) can help automate aspects of this process, recent advances planning reasoning have enabled agents, which dynamically plan, use tools, take iterative actions complete tasks. These agents observe, act, making them well-suited scaffold by...

10.48550/arxiv.2502.09787 preprint EN arXiv (Cornell University) 2025-02-13
Coming Soon ...