Back to results

Chapman University

Exploring Behaviors of Software Developers and Their Code Through Computational and Statistical Methods

Abstract

dc:description.abstract

<p>As Artificial Intelligence (AI) increasingly penetrates all aspects of society, many obstacles emerge. This thesis identifies and discusses the issues facing Computer Vision and significant deficiencies in the Software Development Life-cycle that need to be resolved to facilitate the evolution toward true artificial intelligence. We explicitly review the concepts behind Convolutional Neural Network (CNN) models, the benchmark for computer vision. Chapter 2 highlights the mechanisms that have popularized CNNs while also specifying significant gaps that could garner the model inadequate for future use in safety-critical systems. We put forward two main limitations. Namely, CNNs do not use lack of information as information, something that humans intuitively do. Further, the process of training puts CNNs at a disadvantage over the human brain and experience. While CNNs are trained by directly introducing entire concepts, people acquire knowledge incrementally. Because we learn the basics before the details, we are able to analyze imagery more expeditiously and successfully.</p> <p>Another obstacle limiting the progression of Artificial Intelligence is the factors that decrease the efficiency of programmers and their code. Chapters 3 and 4 explore some of these aspects. The analysis of computer code as a field of study has recently been getting more attention. However, most of this research focuses on the code as the artifact. This dissertation takes a different position by centering on the effects of computer programmers' behaviors on their code.</p> <p>We explore the practicality of current in-code documentation practices by assessing whether erroneous computer comments can mislead programmers. Our experimental model relies on asking participants to describe the functionality of code fragments which, unbeknownst to them, have misleading comments. We find that expert programmers are more prone to rely on these erroneous explanations and further visualize the phenomenon by using an eye-tracker. Finally, we present heatmaps that show experts concentrated more time and attention on the documentation than the code.</p> <p>In the next chapter, we conduct a large-scale analysis of the circumstances determining how long a bug will be present in a project. This study looks at 63,923 simple, one-statement fixes of bugs in open-source Java projects. We conclude that bugs fixed by the same programmer that introduced them are resolved 1.71 times faster. We also challenge Linus' law which states, " given enough eyeballs, all bugs are shallow." Our analysis finds that projects with more contributors have significantly longer-lived bugs, indicating that the mere number of people working on a project is not sufficient protection against bugs.</p>

Degree

thesis:*
Name thesis:degree_name
Doctor of Philosophy (PhD)
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computational and Data Sciences
Year dc:date.available
2021

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Eiroa Lledo, Elia
Contributors dc:contributor
  • Erik Linstead
  • Elizabeth Stevens
  • Tom Springer

Subjects

dc:subject × 7

Identifiers

dc:identifier.*
OAI identifier oai:identifier
oai:digitalcommons.chapman.edu:cads_dissertations-1025

Chain of custody

source
Harvested from
Chapman University
Base URL
digitalcommons.chapman.edu/do/oai/
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Eiroa Lledo, Elia. Exploring Behaviors of Software Developers and Their Code Through Computational and Statistical Methods. Dissertation thesis, 2021. https://digitalcommons.chapman.edu/cads_dissertations/25