Christopher Joseph Parnin

Works (34)

Updated: April 5th, 2024 09:25

2022 article

Dozer: Migrating Shell Commands to Ansible Modules via Execution Profiling and Synthesis

2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP 2022), pp. 147–148.

By: E. Horton n & C. Parnin n

author keywords: Migration; Configuration Management; Shell; Ansible; System Call; Strace; Linux
TL;DR: Dozer is a technique to help developers push their shell commands into Ansible task definitions, which operates by tracing and comparing system calls to find Ansible modules with similar behaviors to shell commands, then generating and validating migrations to find the task which produces the most similar changes to the system. (via Semantic Scholar)
Source: Web Of Science
Added: September 19, 2022

2021 article

Automated Debugging: Past, Present, and Future (ISSTA Impact Paper Award)

ISSTA '21: PROCEEDINGS OF THE 30TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, pp. 1–1.

By: C. Parnin n & A. Orso*

author keywords: Statistical Fault Localization; Automated Debugging; User Studies
TL;DR: This talk revisits the original paper and the work that led to it, and assess the impact of research by reviewing how the area of automated debugging has evolved since the paper was published, and reflecting on the current state of the art in this area. (via Semantic Scholar)
Source: Web Of Science
Added: January 3, 2022

2021 article

Nudging Students Toward Better Software Engineering Behaviors

2021 IEEE/ACM THIRD INTERNATIONAL WORKSHOP ON BOTS IN SOFTWARE ENGINEERING (BOTSE 2021), pp. 11–15.

By: C. Brown n & C. Parnin n

TL;DR: The results show that class-bot, a novel system designed to nudge students to make better choices while working on programming assignments, is beneficial for improving student development behaviors increasing code quality and productivity. (via Semantic Scholar)
Source: Web Of Science
Added: July 11, 2022

2021 article

Program Comprehension and Code Complexity Metrics: A Replication Package of an fMRI Study

2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), pp. 168–169.

TL;DR: The data corroborate that complexity metrics can—to a limited degree—explain programmers' cognition in program comprehension and outline several follow-up experiments investigating fine-grained effects of code complexity and describe possible refinements to code complexity metrics. (via Semantic Scholar)
UN Sustainable Development Goal Categories
4. Quality Education (OpenAlex)
Source: Web Of Science
Added: November 1, 2021

2021 article

Program Comprehension and Code Complexity Metrics: An fMRI Study

2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), pp. 524–536.

TL;DR: The data corroborate that complexity metrics can-to a limited degree-explain programmers' cognition in program comprehension, and fMRI allowed us to gain insights into why some code properties are difficult to process. (via Semantic Scholar)
UN Sustainable Development Goal Categories
4. Quality Education (OpenAlex)
Source: Web Of Science
Added: September 13, 2021

2021 journal article

Security Smells in Ansible and Chef Scripts: A Replication Study

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 30(1).

By: A. Rahman*, M. Rahman n, C. Parnin n & L. Williams n

TL;DR: This article identifies two security smells not reported in prior work: missing default in case statement and no integrity check and recommends practitioners to rigorously inspect the presence of the identified security smells in Ansible and Chef scripts using code review, and static analysis tools. (via Semantic Scholar)
UN Sustainable Development Goal Categories
9. Industry, Innovation and Infrastructure (OpenAlex)
Source: Web Of Science
Added: March 8, 2021

2020 article

Debugging Hiring: What Went Right and What Went Wrong in the Technical Interview Process

2020 IEEE/ACM 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN SOCIETY (ICSE-SEIS 2021), pp. 71–80.

By: M. Behroozi n, S. Shirolkar n, T. Barik* & C. Parnin n

author keywords: career; hiring practices; interview feedback; opinion mining; reviews; software engineering; technical interviews; whiteboard
TL;DR: The findings provide a set of guidelines to help companies improve their hiring pipeline practices, such as being deliberate about phrasing and language during initial contact with the candidate, providing candidates with constructive feedback after their interviews, and bringing salary transparency and long-term career discussions into offers and negotiations. (via Semantic Scholar)
Sources: Web Of Science, NC State University Libraries
Added: November 1, 2021

2020 article

Gang of Eight: A Defect Taxonomy for Infrastructure as Code Scripts

2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), pp. 752–764.

By: A. Rahman*, E. Farhana n, C. Parnin n & L. Williams n

author keywords: bug; category; configuration as code; configuration scripts; defect; devops; infrastructure as code; puppet; software quality; taxonomy
TL;DR: A taxonomy of IaC defects is developed by applying qualitative analysis on 1,448 defect-related commits collected from open source software (OSS) repositories of the Openstack organization and the quantified frequency of the defect categories may help in advancing the science of IAC script quality. (via Semantic Scholar)
UN Sustainable Development Goal Categories
9. Industry, Innovation and Infrastructure (OpenAlex)
Source: Web Of Science
Added: June 21, 2021

2020 article

Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language?

2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), pp. 691–701.

By: N. Shrestha n, C. Botta n, T. Barik* & C. Parnin n

author keywords: interference theory; learning; program comprehension; programming environments; programming languages
TL;DR: An empirical study of Stack Overflow questions across 18 different programming languages hypothesized that previous knowledge could potentially interfere with learning a new programming language, and revealed that programmers make failed attempts to relate a new programming language with what they already know. (via Semantic Scholar)
UN Sustainable Development Goal Categories
4. Quality Education (Web of Science; OpenAlex)
Source: Web Of Science
Added: June 21, 2021

2020 article

SLACC: Simion-based Language Agnostic Code Clones

2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), pp. 210–221.

By: G. Mathew n, C. Parnin n & K. Stolee n

author keywords: semantic code clone detection; cross-language analysis
TL;DR: Like prior clone detection techniques, this work uses input/output behavior to match clones, though it overcome limitations of prior work by amplifying the number of inputs and covering more data types; and as a result, achieve better clusters than prior attempts. (via Semantic Scholar)
UN Sustainable Development Goal Categories
10. Reduced Inequalities (OpenAlex)
Source: Web Of Science
Added: June 21, 2021

2020 article

Studying Programming in the Neuroage: Just a Crazy Idea?

Siegmund, J., Peitek, N., Brechmann, A., Parnin, C., & Apel, S. (2020, June). COMMUNICATIONS OF THE ACM, Vol. 63, pp. 30–34.

Source: Web Of Science
Added: November 16, 2020

2019 article

Beyond the Code Itself: How Programmers Really Look at Pull Requests

2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN SOCIETY (ICSE-SEIS 2019), pp. 51–60.

By: D. Ford n, M. Behroozi n, A. Serebrenik* & C. Parnin n

author keywords: transparency; code contributions; open source software development; eye-tracking; socio-technical ecosystems
TL;DR: It is found that after the code snippet, the second place programmers spent their time fixating is on supplemental technical signals, such as previous contributions and popular repositories, and it is also found that programmers fixated on social signals more than recalled. (via Semantic Scholar)
UN Sustainable Development Goal Categories
5. Gender Equality (OpenAlex)
Sources: Web Of Science, NC State University Libraries
Added: October 5, 2020

2019 article

DockerizeMe: Automatic Inference of Environment Dependencies for Python Code Snippets

2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), pp. 328–338.

By: E. Horton n & C. Parnin n

author keywords: Docker; Configuration Management; Environment Inference; Dependencies; Python
TL;DR: DockerizeMe is presented, a technique for inferring the dependencies needed to execute a Python code snippet without import error that resolves import errors in 892 out of nearly 3,000 gists from the Gistable dataset. (via Semantic Scholar)
Source: Web Of Science
Added: September 7, 2020

2019 article

The Seven Sins: Security Smells in Infrastructure as Code Scripts

2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), pp. 164–175.

By: A. Rahman n, C. Parnin n & L. Williams n

author keywords: devops; devsecops; empirical study; infrastructure as code; puppet; security; smell; static analysis
TL;DR: The goal of this paper is to help practitioners avoid insecure coding practices while developing infrastructure as code (IaC) scripts through an empirical study of security smells in IaC scripts. (via Semantic Scholar)
UN Sustainable Development Goal Categories
9. Industry, Innovation and Infrastructure (OpenAlex)
Source: Web Of Science
Added: September 7, 2020

2019 article

V2: Fast Detection of Configuration Drift in Python

34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), pp. 477–488.

By: E. Horton n & C. Parnin n

author keywords: Configuration Management; Configuration Repair; Configuration Drift; Environment Inference; Dependencies
TL;DR: V2, a strategy for determining if a code snippet is out-of-date by detecting discrete instances of configuration drift, where the snippet uses an API which has since undergone a breaking change. (via Semantic Scholar)
Source: Web Of Science
Added: June 8, 2020

2018 article

10+Years of Teaching Software Engineering with iTrust: the Good, the Bad, and the Ugly

2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING EDUCATION AND TRAINING (ICSE-SEET), pp. 1–4.

By: S. Heckman n, K. Stolee n & C. Parnin n

author keywords: software engineering education; iTrust
TL;DR: From the lessons learned, the course structure and the course project, iTrust, that has been developed by students over 25 semesters are provided and course improvements are presented as they prepare for the next ten years of software engineering courses. (via Semantic Scholar)
Sources: Web Of Science, NC State University Libraries
Added: November 5, 2018

2018 journal article

A Look into Programmers' Heads

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 46(4), 442–462.

author keywords: Functional magnetic resonance imaging; Task analysis; Cognition; Brain; Programming; Blood; Functional magnetic resonance imaging; program comprehension
TL;DR: Whether functional magnetic resonance imaging (fMRI) is feasible for soundly measuring program comprehension is explored and a clear, distinct activation of five brain regions, which are related to working memory, attention, and language processing, are shown. (via Semantic Scholar)
Source: Web Of Science
Added: May 18, 2020

2018 article

Dazed: Measuring the Cognitive Load of Solving Technical Interview Problems at the Whiteboard

2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING TECHNOLOGIES RESULTS (ICSE-NIER), pp. 93–96.

By: M. Behroozi n, A. Lui*, I. Moore n, D. Ford n & C. Parnin n

Contributors: M. Behroozi n, A. Lui*, I. Moore n, D. Ford n & C. Parnin n

author keywords: technical interviews; cognitive load; eyetracking
TL;DR: An approach where a head-mounted eye-tracker and computer vision algorithms are used to collect robust metrics of cognitive state to create a vision for creating a more inclusive technical interview process through future studies of interventions that lower cognitive load and stress. (via Semantic Scholar)
Sources: Web Of Science, ORCID, NC State University Libraries
Added: December 3, 2018

2018 article

Evaluating How Developers Use General-Purpose Web-Search for Code Retrieval

2018 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR), pp. 465–475.

By: M. Rahman*, J. Barson*, S. Paul*, J. Kayani n, F. Andres Lois, S. Fernandez Quezada, C. Parnin n, K. Stolee n, B. Ray*

TL;DR: Whether a general purpose search engine like Google is an optimal choice for code-related searches is explored, and whether the performance of searching with Google varies for code vs. non-code related searches is investigated. (via Semantic Scholar)
Source: Web Of Science
Added: March 4, 2019

2018 article

Gistable: Evaluating the Executability of Python Code Snippets on GitHub

PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), pp. 217–227.

By: E. Horton n & C. Parnin n

TL;DR: This paper presents an empirical analysis of the executable status of Python code snippets shared through the GitHub gist system, and the ability of developers familiar with software configuration to correctly configure and run them, and presents Gistable, a database and extensible framework built on GitHub's gist system. (via Semantic Scholar)
Source: Web Of Science
Added: December 17, 2018

2018 article

How Should Compilers Explain Problems to Developers?

ESEC/FSE'18: PROCEEDINGS OF THE 2018 26TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, pp. 633–643.

By: T. Barik*, D. Ford n, E. Murphy-Hill n & C. Parnin n

author keywords: communication theory; compilers; debugging; error messages; explanations; Stack Overflow
TL;DR: Because error messages present poor explanations, theories of explanation---such as Toulmin's model of argument---can be applied to improve their quality, and three practical design principles are contributed to inform the design and evaluation of compiler error messages. (via Semantic Scholar)
UN Sustainable Development Goal Categories
4. Quality Education (Web of Science)
Source: Web Of Science
Added: March 25, 2019

2018 article

Simultaneous Measurement of Program Comprehension with fMRI and Eye Tracking: A Case Study

PROCEEDINGS OF THE 12TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2018).

By: N. Peitek*, J. Siegmund*, C. Parnin n, S. Apel*, J. Hofmeister* & A. Brechmann*

author keywords: program comprehension; functional magnetic resonance imaging; eye tracking
TL;DR: Simultaneous measurement of program comprehension with fMRI and eye tracking is promising, but with limitations; by adding simultaneous eye tracking to the fMRI study framework, this paper can conduct more fine-grained fMRI analyses, which helps to understand programmer behavior better. (via Semantic Scholar)
Source: Web Of Science
Added: June 24, 2019

2018 article

Special edition of the Journal of Software: Evolution and Process for the 4th IEEE Working Conference on Software Visualization (VISSOFT 2016)

Parnin, C., & Fabry, J. (2018, February). JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, Vol. 30.

By: C. Parnin n & J. Fabry

TL;DR: This special edition of the Journal of Software: Evolution and Process for the 4th IEEEWorking Conference on Software Visualization features 9 full papers selected out of a total of 21 submissions, and of these 9 they invited 4 to submit an extended version to this special issue. (via Semantic Scholar)
Source: Web Of Science
Added: August 6, 2018

2017 article

Characterizing and Predicting Mental Fatigue during Programming Tasks

2017 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON EMOTION AWARENESS IN SOFTWARE ENGINEERING (SEMOTION 2017), pp. 32–37.

By: S. Sarkar* & C. Parnin n

UN Sustainable Development Goal Categories
Source: Web Of Science
Added: August 6, 2018

2017 journal article

Gender differences and bias in open source: pull request acceptance of women versus men

PeerJ Computer Science.

By: J. Terrell, A. Kofink, J. Middleton, C. Rainear, E. Murphy-Hill, C. Parnin, J. Stallings

Source: NC State University Libraries
Added: August 6, 2018

2017 article

The Tech-Talk Balance: What Technical Interviewers Expect from Technical Candidates

2017 IEEE/ACM 10TH INTERNATIONAL WORKSHOP ON COOPERATIVE AND HUMAN ASPECTS OF SOFTWARE ENGINEERING (CHASE 2017), pp. 43–48.

By: D. Ford n, T. Barik n, L. Rand-Pickett n & C. Parnin n

author keywords: career; interpersonal skills; technical interview; software engineer
TL;DR: To determine what criteria interviewers value, mock technical interviews with software engineer candidates at a university and evaluations from interviewers are conducted, using a grounded theory approach. (via Semantic Scholar)
UN Sustainable Development Goal Categories
4. Quality Education (OpenAlex)
Source: Web Of Science
Added: August 6, 2018

2017 journal article

The Top 10 Adages in Continuous Deployment

IEEE SOFTWARE, 34(3), 86–95.

By: C. Parnin n, E. Helms*, C. Atlee, H. Boughton, M. Ghattas*, A. Glover*, J. Holman, J. Micco* ...

TL;DR: To understand the emerging practices surrounding continuous deployment, researchers facilitated a one-day Continuous Deployment Summit at the Facebook campus in July 2015, at which participants from 10 companies described how they used continuous deployment. (via Semantic Scholar)
Source: Web Of Science
Added: August 6, 2018

2016 article

Code Drones

2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), pp. 785–788.

By: M. Acharya*, C. Parnin n, N. Kraft*, A. Dagnino* & X. Qu*

TL;DR: A new paradigm is proposed and explored in which every software artifact such as a class is an intelligent and socially active entity and humanized artifacts take the lead and choreograph (socially, in collaboration with other intelligent software artifacts and humans). (via Semantic Scholar)
UN Sustainable Development Goal Categories
10. Reduced Inequalities (OpenAlex)
Source: Web Of Science
Added: August 6, 2018

2016 conference paper

Invited session: hands-on sensors 101

2016 IEEE/ACM 1st International Workshop on Emotion Awareness in Software Engineering (Semotion), 28–29.

By: C. Parnin & A. Begel

Source: NC State University Libraries
Added: August 6, 2018

2015 article

Exploring Causes of Frustration for Software Developers

2015 IEEE/ACM 8TH INTERNATIONAL WORKSHOP ON COOPERATIVE AND HUMAN ASPECTS OF SOFTWARE ENGINEERING CHASE 2015, pp. 115–116.

By: D. Ford n & C. Parnin n

TL;DR: This work asked software developers about the severity of their frustration and to recall their most recent frustrating programming experience, and distilled the reported experiences into 11 categories, which include issues with mapping behaviors to code and broken programming tools. (via Semantic Scholar)
Source: Web Of Science
Added: August 6, 2018

2015 article

Synthesizing Continuous Deployment Practices Used in Software Development

2015 AGILE CONFERENCE, pp. 1–10.

By: A. Ur Rahman, E. Helms n, L. Williams n & C. Parnin n

author keywords: agile; continuous deployment; continuous delivery; industry practices; internet artifacts; follow-up inquiries
TL;DR: It is observed that continuous deployment necessitates the consistent use of sound software engineering practices such as automated testing, automated deployment, and code review, which are used by software companies. (via Semantic Scholar)
Source: Web Of Science
Added: August 6, 2018

2015 article

Virtual Reality in Software Engineering: Affordances, Applications, and Challenges

2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, pp. 547–550.

By: A. Elliott n, B. Peiris & C. Parnin n

TL;DR: The affordances offered by VR are described, the benefits of VR and software engineering in prototypes for live coding and code review are demonstrated, and future work, open questions, and the challenges of VR are discussed. (via Semantic Scholar)
Source: Web Of Science
Added: August 6, 2018

2012 journal article

Adoption and use of Java generics

Empirical Software Engineering, 18(6), 1047–1089.

By: C. Parnin*, C. Bird* & E. Murphy-Hill n

author keywords: Generics; Annotations; Java; Languages; Post-mortem analysis
TL;DR: This paper reports on the first empirical investigation into how Java generics have been integrated into open source software by automatically mining the history of 40 popular open source Java programs, traversing more than 650 million lines of code in the process. (via Semantic Scholar)
Sources: Crossref, Web Of Science
Added: August 6, 2018

2010 journal article

Resumption strategies for interrupted programming tasks

Software Quality Journal, 19(1), 5–34.

By: C. Parnin* & S. Rugaber*

author keywords: Interruption; Resumption strategies; Task context; Task knowledge
TL;DR: An exploratory analysis performed on 10,000 recorded sessions of 86 programmers and a survey of 414 programmers to understand the various strategies and coping mechanisms developers use to manage interrupted programming tasks suggests that task resumption is a frequent and persistent problem for developers. (via Semantic Scholar)
Source: Crossref
Added: November 17, 2020

Citation Index includes data from a number of different sources. If you have questions about the sources of data in the Citation Index or need a set of data which is free to re-distribute, please contact us.

Certain data included herein are derived from the Web of Science© and InCites© (2024) of Clarivate Analytics. All rights reserved. You may not copy or re-distribute this material in whole or in part without the prior written consent of Clarivate Analytics.