Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 10 of 10

Full-Text Articles in Physical Sciences and Mathematics

An Empirical Study On The Classification Of Python Language Features Using Eye-Tracking, Jigyasa Chauhan Dec 2022

An Empirical Study On The Classification Of Python Language Features Using Eye-Tracking, Jigyasa Chauhan

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

Python, currently one of the most popular programming languages, is an object-
oriented language that also provides language feature support for other programming
paradigms, such as functional and procedural. It is not currently understood how
support for multiple paradigms affects the ability of developers to comprehend that
code. Understanding the predominant paradigm in code, and how developers classify
the predominant paradigm, can benefit future research in program comprehension as
the paradigm may factor into how people comprehend that code. Other researchers
may want to look at how the paradigms in the code interact with various code smells.
To investigate how …


Exploring The Efficiency Of Self-Organizing Software Teams With Game Theory, Clay Stevens, Jared Soundy, Hau Chan Feb 2021

Exploring The Efficiency Of Self-Organizing Software Teams With Game Theory, Clay Stevens, Jared Soundy, Hau Chan

CSE Conference and Workshop Papers

Over the last two decades, software development has moved away from centralized, plan-based management toward agile methodologies such as Scrum. Agile methodologies are founded on a shared set of core principles, including self-organizing software development teams. Such teams are promoted as a way to increase both developer productivity and team morale, which is echoed by academic research. However, recent works on agile neglect to consider strategic behavior among developers, particularly during task assignment–one of the primary functions of a self-organizing team. This paper argues that self-organizing software teams could be readily modeled using game theory, providing insight into how agile …


Representational Learning Approach For Predicting Developer Expertise Using Eye Movements, Sumeet Maan Dec 2020

Representational Learning Approach For Predicting Developer Expertise Using Eye Movements, Sumeet Maan

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

The thesis analyzes an existing eye-tracking dataset collected while software developers were solving bug fixing tasks in an open-source system. The analysis is performed using a representational learning approach namely, Multi-layer Perceptron (MLP). The novel aspect of the analysis is the introduction of a new feature engineering method based on the eye-tracking data. This is then used to predict developer expertise on the data. The dataset used in this thesis is inherently more complex because it is collected in a very dynamic environment i.e., the Eclipse IDE using an eye-tracking plugin, iTrace. Previous work in this area only worked on …


An Eye Tracking Replication Study Of A Randomized Controlled Trial On The Effects Of Embedded Computer Language Switching, Cole Peterson Apr 2020

An Eye Tracking Replication Study Of A Randomized Controlled Trial On The Effects Of Embedded Computer Language Switching, Cole Peterson

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

The use of multiple programming languages (polyglot programming) during software development is common practice in modern software development. However, not much is known about how the use of these different languages affects developer productivity. The study presented in this thesis replicates a randomized controlled trial that investigates the use of multiple languages in the context of database programming tasks. Participants in our study were given coding tasks written in Java and one of three SQL-like embedded languages: plain SQL in strings, Java methods only, a hybrid embedded language that was more similar to Java. In addition to recording the online …


Sonifying Git History, Kevin J. North May 2016

Sonifying Git History, Kevin J. North

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

Version control is a technique that software developers use in industry to manage their source code artifacts. One benefit of using version control is that it produces a history of every change made to a codebase, which developers frequently analyze in order to aid the software development process. However, version control history contains highly multidimensional and temporal data. State of the art techniques can show several of these dimensions, but they cannot show a large number of dimensions simultaneously without becoming difficult to understand. An alternative technique to understand temporal data with high dimensionality is sonification. Sonification maps information to …


A Roadmap To Safe And Reliable Engineered Biological Nano-Communication Networks, Justin W. Firestone Apr 2016

A Roadmap To Safe And Reliable Engineered Biological Nano-Communication Networks, Justin W. Firestone

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

Synthetic biology has the potential to benefit society with novel applications that can improve soil quality, produce biofuels, grow customized biological tissue, and perform intelligent drug delivery, among many other possibilities. Engineers are creating techniques to program living cells, inserting new logic, and leveraging cell-to-cell communication, which result in changes to a cell's core functionality. Using these techniques, we can now create synthetic biological organisms (SBOs) with entirely new (potentially unseen) behaviors, which, similar to silicon devices, can sense, actuate, perform computation, and interconnect with other networks at the nanoscale level. SBOs are programmable evolving entities, and can be likened …


Automated Test Case Generation To Validate Non-Functional Software Requirements, Pingyu Zhang Aug 2013

Automated Test Case Generation To Validate Non-Functional Software Requirements, Pingyu Zhang

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

A software system is bounded by a set of requirements. Functional requirements describe what the system must do, in terms of inputs, behavior, and outputs. We define non-functional requirements to be how well these functional requirements are satisfied, in terms of qualities or constraints on the design or on the implementation of a system. In practice, the validation of these kinds of requirements, does not receive equal emphasis. Techniques for validating functional requirements target all levels of software testing phases, and explore both black-box and white-box approaches. Techniques for validating non-functional requirements, on the other hand, largely operate in a …


Discovering Divergence: A Framework For Finding Unexpected Behavior Using Directed Exploration, Heath G. Roehr Aug 2013

Discovering Divergence: A Framework For Finding Unexpected Behavior Using Directed Exploration, Heath G. Roehr

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

Systems that are written to achieve the same high level specifications can vary in subtle ways. Depending on a programmer's objective, using one variant of a program or algorithm over another may be beneficial, and this objective may change over time. However we do not have sufficient techniques to compare two different system variants side-by-side to find specific behavioral differences, particularly in the absence of source code. Assuming two system implementations take the same inputs and produce the same outputs or exhibit the same behavior under most conditions, we want to find input instances where the behavior diverges for a …


Palantir: Early Detection Of Development Conflicts Arising From Parallel Code Changes, Anita Sarma, D F. Redmiles, Andre Van Der Hoek Aug 2012

Palantir: Early Detection Of Development Conflicts Arising From Parallel Code Changes, Anita Sarma, D F. Redmiles, Andre Van Der Hoek

School of Computing: Faculty Publications

The earlier a conflict is detected, the easier it is to resolve—this is the main precept of workspace awareness. Workspace awareness seeks to provide users with information of relevant ongoing parallel changes occurring in private workspaces, thereby enabling the early detection and resolution of potential conflicts. The key approach is to unobtrusively inform developers of potential conflicts arising because of concurrent changes to the same file and dependency violations in ongoing parallel work. This paper describes our research goals, approach, and implementation of workspace awareness through Palantır and includes a comprehensive evaluation involving two laboratory experiments. We present both quantitative …


Analysis And Transformation Of Pipe-Like Web Mashups For End User Programmers, Kathryn T. Stolee Jun 2010

Analysis And Transformation Of Pipe-Like Web Mashups For End User Programmers, Kathryn T. Stolee

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

Mashups are becoming increasingly popular as end users are able to easily access, manipulate, and compose data from several web sources. To support end users, communities are forming around mashup development environments that facilitate sharing code and knowledge. We have observed, however, that end user mashups tend to suffer from several deficiencies, such as inoperable components or references to invalid data sources, and that those deficiencies are often propagated through the rampant reuse in these end user communities.

In this work, we identify and specify ten code smells indicative of deficiencies we observed in a sample of 8,051 pipe-like web …