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

Computer Sciences Commons

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

Software engineering

Discipline
Institution
Publication Year
Publication
Publication Type
File Type

Articles 121 - 150 of 252

Full-Text Articles in Computer Sciences

Code Coverage And Postrelease Defects: A Large-Scale Study On Open Source Projects, Pavneet Singh Kochhar, David Lo, Julia Lawall, Nachiappan Nagappan Sep 2017

Code Coverage And Postrelease Defects: A Large-Scale Study On Open Source Projects, Pavneet Singh Kochhar, David Lo, Julia Lawall, Nachiappan Nagappan

Research Collection School Of Computing and Information Systems

Testing is a pivotal activity in ensuring the quality of software. Code coverage is a common metric used as a yardstick to measure the efficacy and adequacy of testing. However, does higher coverage actually lead to a decline in postrelease bugs? Do files that have higher test coverage actually have fewer bug reports? The direct relationship between code coverage and actual bug reports has not yet been analyzed via a comprehensive empirical study on real bugs. Past studies only involve a few software systems or artificially injected bugs (mutants). In this empirical study, we examine these questions in the context …


An Exploratory Study Of Functionality And Learning Resources Of Web Apis On Programmableweb, Yuan Tian, Pavneet Singh Kochhar, David Lo Jun 2017

An Exploratory Study Of Functionality And Learning Resources Of Web Apis On Programmableweb, Yuan Tian, Pavneet Singh Kochhar, David Lo

Research Collection School Of Computing and Information Systems

Web APIs provide various functionalities that can be leveraged by developers in building their applications. ProgrammableWeb, which is the largest and most active web API and mashup collection, provides a record of thousands of web APIs and mashups. However, important properties about these large number of web APIs, such as their functionality and support/resources for learning, have never been studied by the existing research work. In this study, we perform an exploratory analysis on functionality and learning resources of 9,883 web APIs and 4,315 mashups listed on ProgrammableWeb, and find that: (1) web APIs provide a wide range of functionalities …


Grace's Inheritance, James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones Jan 2017

Grace's Inheritance, James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones

Computer Science Faculty Publications and Presentations

This article is an apologia for the design of inheritance in the Grace educational programming language: it explains how the design of Grace’s inheritance draws from inheritance mechanisms in predecessor languages, and defends that design as the best of the available alternatives. For simplicity, Grace objects are generated from object constructors, like those of Emerald, Lua, and Javascript; for familiarity, the language also provides classes and inheritance, like Simula, Smalltalk and Java. The design question we address is whether or not object constructors can provide an inheritance semantics similar to classes.


The Habits Of Highly Effective Researchers: An Empirical Study, Subhajit Datta, Partha Basuchowdhuri, Surajit Acharya, Subhashis Majumder Jan 2017

The Habits Of Highly Effective Researchers: An Empirical Study, Subhajit Datta, Partha Basuchowdhuri, Surajit Acharya, Subhashis Majumder

Research Collection School Of Computing and Information Systems

Interest in the habits of influential individuals cuts across domains. As researchers, we are intrigued why few attain significant eminence in their fields, whereas many operate in obscurity. An empirical examination of this question has been made possible by the recent availability of large scale publication data. In this paper, we use information from the AMiner Paper Citation and Author Collaboration Networks to discern factors that relate to the impact of influential researchers across five domains in the computing discipline. We propose and apply a novel algorithm to identify influential vertices in co-authorship networks built from total corpora of 1,00,000+papers …


Software Engineering For Science, Jeffrey C. Carver, Neil P. Chue Hong, George K. Thiruvathukal Oct 2016

Software Engineering For Science, Jeffrey C. Carver, Neil P. Chue Hong, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

Software Engineering for Science provides an in-depth collection of peer-reviewed chapters that describe experiences with applying software engineering practices to the development of scientific software. It provides a better understanding of how software engineering is and should be practiced, and which software engineering practices are effective for scientific software.

The book starts with a detailed overview of the Scientific Software Lifecycle, and a general overview of the scientific software development process. It highlights key issues commonly arising during scientific software development, as well as solutions to these problems.

The second part of the book provides examples of the use of …


Learning Program Specifications From Sample Runs, He Zhu Aug 2016

Learning Program Specifications From Sample Runs, He Zhu

Open Access Dissertations

With science fiction of yore being reality recently with self-driving cars, wearable computers and autonomous robots, software reliability is growing increasingly important. A critical pre-requisite to ensure the software that controls such systems is correct is the availability of precise specifications that describe a program's intended behaviors. Generating these specifications manually is a challenging, often unsuccessful, exercise; unfortunately, existing static analysis techniques often produce poor quality specifications that are ineffective in aiding program verification tasks.

In this dissertation, we present a recent line of work on automated synthesis of specifications that overcome many of the deficiencies that plague existing specification …


Metrics, Software Engineering, Small Systems – The Future Of Systems Development, William L. Honig Jun 2016

Metrics, Software Engineering, Small Systems – The Future Of Systems Development, William L. Honig

Computer Science: Faculty Publications and Other Works

In this talk I will introduce the importance of metrics, or measures, and the role they play in the development of high quality computer systems. I will review some key mega trends in computer science over the last three decades and then explain why I believe the trend to small networked systems, along with metrics and software engineering will define the future of high technology computer based systems.

I first learned about metrics at the Bell System where everything was measured. Metrics can be understood easily if you think of them as measures, for example of calories or salt in …


How Long Will This Live? Discovering The Lifespans Of Software Engineering Ideas, Subhajit Datta, Santonu Sarkar, A. S. M Sajeev Jun 2016

How Long Will This Live? Discovering The Lifespans Of Software Engineering Ideas, Subhajit Datta, Santonu Sarkar, A. S. M Sajeev

Research Collection School Of Computing and Information Systems

We all want to be associated with long lasting ideas; as originators, or at least, expositors. For a tyro researcher or a seasoned veteran, knowing how long an idea will remain interesting in the community is critical in choosing and pursuing research threads. In the physical sciences, the notion of half-life is often evoked to quantify decaying intensity. In this paper, we study a corpus of 19,000+ papers written by 21,000+ authors across 16 software engineering publication venues from 1975 to 2010, to empirically determine the half-life of software engineering research topics. In the absence of any consistent and well-accepted …


Sonifying Git History, Kevin J. North May 2016

Sonifying Git History, Kevin J. North

School of Computing: 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

School of Computing: 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 …


A Polyglot Approach To Bioinformatics Data Integration: A Phylogenetic Analysis Of Hiv-1, Steven Reisman, Thomas Hatzopoulous, Konstantin Läufer, George K. Thiruvathukal, Catherine Putonti Jan 2016

A Polyglot Approach To Bioinformatics Data Integration: A Phylogenetic Analysis Of Hiv-1, Steven Reisman, Thomas Hatzopoulous, Konstantin Läufer, George K. Thiruvathukal, Catherine Putonti

Computer Science: Faculty Publications and Other Works

As sequencing technologies continue to drop in price and increase in throughput, new challenges emerge for the management and accessibility of genomic sequence data. We have developed a pipeline for facilitating the storage, retrieval, and subsequent analysis of molecular data, integrating both sequence and metadata. Taking a polyglot approach involving multiple languages, libraries, and persistence mechanisms, sequence data can be aggregated from publicly available and local repositories. Data are exposed in the form of a RESTful web service, formatted for easy querying, and retrieved for downstream analyses. As a proof of concept, we have developed a resource for annotated HIV-1 …


Capturing, Eliciting, And Prioritizing (Cep) Non-Functional Requirements Metadata During The Early Stages Of Agile Software Development, Richard Rabin Maiti Jan 2016

Capturing, Eliciting, And Prioritizing (Cep) Non-Functional Requirements Metadata During The Early Stages Of Agile Software Development, Richard Rabin Maiti

CCAC Theses and Dissertations

Agile software engineering has been a popular methodology to develop software rapidly and efficiently. However, the Agile methodology often favors Functional Requirements (FRs) due to the nature of agile software development, and strongly neglects Non-Functional Requirements (NFRs). Neglecting NFRs has negative impacts on software products that have resulted in poor quality and higher cost to fix problems in later stages of software development.

This research developed the CEP “Capture Elicit Prioritize” methodology to effectively gather NFRs metadata from software requirement artifacts such as documents and images. Artifact included the Optical Character Recognition (OCR) artifact which gathered metadata from images. The …


Detecting Broken Pointcuts Using Structural Commonality And Degree Of Interest, Raffi Khatchadourian, Awais Rashd, Hidehiko Masuhara, Takuya Watanabe Nov 2015

Detecting Broken Pointcuts Using Structural Commonality And Degree Of Interest, Raffi Khatchadourian, Awais Rashd, Hidehiko Masuhara, Takuya Watanabe

Publications and Research

Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base code can lead to join points incorrectly falling in or out of the scope of pointcuts. Deciding which pointcuts have broken due to base-code changes is daunting, especially in large and complex systems. We present an automated approach that recommends pointcuts that are likely to require modification due to a certain base-code change and ones that do not. Our hypothesis is that join points selected by a pointcut exhibit common structural characteristics. Patterns describing such commonalities recommend pointcuts that have potentially broken to the developer. The approach …


Towards Sustainable Digital Humanities Software, George K. Thiruvathukal, Shilpika Shilpika, Nicholas J. Hayward, Saulo Aguiar, Konstantin Läufer Nov 2015

Towards Sustainable Digital Humanities Software, George K. Thiruvathukal, Shilpika Shilpika, Nicholas J. Hayward, Saulo Aguiar, Konstantin Läufer

Computer Science: Faculty Publications and Other Works

Our work in software quality for digital humanities was borne of an effort to address sustainable practices in scientific software development, where the speaker (Thiruvathukal) co-authored a position paper on the case for software engineering in scientific software development as part of an all-encompassing strategy to create more sustainable scientific software (an example of a well-known scientific software package is LINPACK). In this position paper, we addressed how “progress in scientific research is dependent on the quality and accessibility of software at all levels". This progress depends on embracing the best traditional--and emergent--practices in software engineering, especially agile practices that …


Choosing Your Weapons: On Sentiment Analysis Tools For Software Engineering Research, Robbert Jongeling, Subhajit Datta, Alexander Serebrenik Oct 2015

Choosing Your Weapons: On Sentiment Analysis Tools For Software Engineering Research, Robbert Jongeling, Subhajit Datta, Alexander Serebrenik

Research Collection School Of Computing and Information Systems

Recent years have seen an increasing attention to social aspects of software engineering, including studies of emotions and sentiments experienced and expressed by the software developers. Most of these studies reuse existing sentiment analysis tools such as SentiStrength and NLTK. However, these tools have been trained on product reviews and movie reviews and, therefore, their results might not be applicable in the software engineering domain. In this paper we study whether the sentiment analysis tools agree with the sentiment recognized by human evaluators (as reported in an earlier study) as well as with each other. Furthermore, we evaluate the impact …


The Importance Of Being Isolated: An Empirical Study On Chromium Reviews, Subhajit Datta, Devarshi Bhatt, Manish Jain, Proshanta Sarkar, Santonu Sarkar Oct 2015

The Importance Of Being Isolated: An Empirical Study On Chromium Reviews, Subhajit Datta, Devarshi Bhatt, Manish Jain, Proshanta Sarkar, Santonu Sarkar

Research Collection School Of Computing and Information Systems

As large scale software development has become more collaborative, and software teams more globally distributed, several studies have explored how developer interaction influences software development outcomes. The emphasis so far has been largely on outcomes like defect count, the time to close modification requests etc. In the paper, we examine data from the Chromium project to understand how different aspects of developer discussion relate to the closure time of reviews. On the basis of analyzing reviews discussed by 2000+ developers, our results indicate that quicker closure of reviews owned by a developer relates to higher reception of information and insights …


A Study On The Geographical Distribution Of Brazil’S Prestigious Software Developers, Fernando Figueira Filho, Marcelo Gattermann Perin, Christoph Treude, Sabrina Marczak, Leandro De Almeida Melo, Igor Marques Da Silva, Lucas Bibiano Dos Santos Aug 2015

A Study On The Geographical Distribution Of Brazil’S Prestigious Software Developers, Fernando Figueira Filho, Marcelo Gattermann Perin, Christoph Treude, Sabrina Marczak, Leandro De Almeida Melo, Igor Marques Da Silva, Lucas Bibiano Dos Santos

Research Collection School Of Computing and Information Systems

Brazil is an emerging economy with many IT initiatives from public and private sectors. To evaluate the progress of such initiatives, we study the geographical distribution of software developers in Brazil, in particular which of the Brazilian states succeed the most in attracting and nurturing them. We compare the prestige of developers with socio-economic data and find that (i) prestigious developers tend to be located in the most economically developed regions of Brazil, (ii) they are likely to follow others in the same state they are located in, (iii) they are likely to follow other prestigious developers, and (iv) they …


Software Application And Mobile Optimization, Timothy Yu May 2015

Software Application And Mobile Optimization, Timothy Yu

Undergraduate University Honors Capstones

Most software applications have yet to be optimized for mobile devices, such as smartphones and tablets. Such is the case with Gallaudet University’s enterprise information systems, Bison, the university’s administration system, including all records except for finances and Blackboard, the university’s learning management system. A two-part project addressed this lack of mobile optimization with Bison. The first part was the Residence Life Sticker Project intended to familiarize the developer with Gallaudet’s internal IT systems. It involved developing a web form for the Office of Residence Life to record receipt of ID card stickers, handbooks, and release room consent information. The …


Unified Behavior Framework For Discrete Event Simulation Systems, Alexander J. Kamrud Mar 2015

Unified Behavior Framework For Discrete Event Simulation Systems, Alexander J. Kamrud

Theses and Dissertations

Intelligent agents provide simulations a means to add lifelike behavior in place of manned entities. Generally when developed, a single intelligent agent model is chosen, such as rule based, behavior trees, etc. This choice introduces restrictions into what behaviors agents can manifest, and can require significant testing in edge cases. This thesis presents the use of the UBF in the AFSIM environment. The UBF provides the flexibility to implement any and all intelligent agent models, allowing the developer to choose the model he/she feels best fits the experiment at hand. Furthermore, the UBF demonstrates several key software engineering principles through …


Managing Technical Debt: Insights From Recent Empirical Evidence, Narayan Ramasubbu, Chris F. Kemerer, C. Jason Woodard Mar 2015

Managing Technical Debt: Insights From Recent Empirical Evidence, Narayan Ramasubbu, Chris F. Kemerer, C. Jason Woodard

Research Collection School Of Computing and Information Systems

Technical debt refers to maintenance obligations that software teams accumulate as a result of their actions. Empirical research has led researchers to suggest three dimensions along which software development teams should map their technical-debt metrics: customer satisfaction needs, reliability needs, and the probability of technology disruption.


A Mathematical Framework Of Human Thought Process: Rectifying Software Construction Inefficiency And Identifying Characteristic Efficiencies Of Networked Systems Via Problem-Solution Cycle, Jonathan Sarbah-Yalley Jan 2015

A Mathematical Framework Of Human Thought Process: Rectifying Software Construction Inefficiency And Identifying Characteristic Efficiencies Of Networked Systems Via Problem-Solution Cycle, Jonathan Sarbah-Yalley

Master's Theses

Problem

The lack of a theory to explain human thought process latently affects the general perception of problem solving activities. This present study was to theorize human thought process (HTP) to ascertain in general the effect of problem solving inadequacy on efficiency.

Method

To theorize human thought process (HTP), basic human problem solving activities were investigated through the vein of problem-solution cycle (PSC). The scope of PSC investigation was focused on the inefficiency problem in software construction and latent characteristic efficiencies of a similar networked system. In order to analyze said PSC activities, three mathematical quotients and a messaging wavefunction …


Multimodal Code Search, Shaowei Wang Jan 2015

Multimodal Code Search, Shaowei Wang

Dissertations and Theses Collection (Open Access)

Today’s software is large and complex, consisting of millions of lines of code. New developers of a software project always face significant challenges in finding code related to their development or maintenance tasks (e.g., implementing features, fixing bugs and adding new features). In fact, research has shown that developers typically spend more time on locating and understanding code than modifying it. Thus, we can significantly reduce the cost of software development and maintenance by reducing the time to search and understand code relevant to a software development or maintenance task. In order to reduce the time of searching and understanding …


An Active Learning Module For An Introduction To Software Engineering Course, A. Frank Ackerman, Ph.D. Jan 2014

An Active Learning Module For An Introduction To Software Engineering Course, A. Frank Ackerman, Ph.D.

Computer Science & Software Engineering

Many schools do not begin to introduce college students to software engineering until they have had at least one semester of programming. Since software engineering is a large, complex, and abstract subject it is difficult to construct active learning exercises that build on the students’ elementary knowledge of programming and still teach basic software engineering principles. It is also the case that beginning students typically know how to construct small programs, but they have little experience with the techniques necessary to produce reliable and long-term maintainable modules. I have addressed these two concerns by defining a local standard (Montana Tech …


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

School of Computing: 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

School of Computing: 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 …


Orion: A Software Project Search Engine With Integrated Diverse Software Artifacts, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère Jul 2013

Orion: A Software Project Search Engine With Integrated Diverse Software Artifacts, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère

Research Collection School Of Computing and Information Systems

Software projects produce a wealth of data that is leveraged in different tasks and for different purposes: researchers collect project data for building experimental datasets; software programmers reuse code from projects; developers often explore the opportunities for getting involved in the development of a project to gain or offer expertise. Finding relevant projects that suit one needs is however currently challenging with the capabilities of existing search systems. We propose Orion, an integrated search engine architecture that combines information from different types of software repositories from multiple sources to facilitate the construction and execution of advanced search queries. Orion provides …


Teaching And Assessment Of Mathematical Principles For Software Correctness Using A Reasoning Concept Inventory, Svetlana Drachova-Strang May 2013

Teaching And Assessment Of Mathematical Principles For Software Correctness Using A Reasoning Concept Inventory, Svetlana Drachova-Strang

All Dissertations

As computing becomes ubiquitous, software correctness has a fundamental role in ensuring the safety and security of the systems we build. To design and develop software correctly according to their formal contracts, CS students, the future software practitioners, need to learn a critical set of skills that are necessary and sufficient for reasoning about software correctness.
This dissertation presents a systematic approach to both introducing these reasoning skills into the curriculum, and assessing how well the students have learned them. Specifically, it introduces a comprehensive Reasoning Concept Inventory (RCI) that captures the fine details of basic reasoning skills that are …


Development Of An Api As A Solution To Data Insularity Amongst Dietary-Need Applications, Raphael Lapuma Apr 2013

Development Of An Api As A Solution To Data Insularity Amongst Dietary-Need Applications, Raphael Lapuma

Regis University Student Publications (comprehensive collection)

When multiple competing applications in the same field use only their own sets of user-generated review data and do not collaborate with other applications, data is used in isolation. This factor, which the author will refer to as "data insularity," segregates each application's community of users from other applications' communities, thus creating a limited and fragmented set of data, which discourages the creation of new applications in the industry, and adversely affects the end user. This study will propose a prototype API for applications in the restaurant industry as a solution to the limited and insular use of data amongst …


File Transfer Web Application, Madhavi Dintakurthy Apr 2013

File Transfer Web Application, Madhavi Dintakurthy

All Capstone Projects

Aim is to develop a web application using java web framework.

Description: Develop a web application in 3 tier architecture involving user interface, controller and database. The user interface will be a web page hosted on a server. The web page consists of both static and dynamic content. All the data required for the application is stored in database tables. Controller accesses the data from the database and provides it to the user through user interface (web page).

  • Web page: The webpage serves as user interface to the application. Web page is developed using Jsp, HTML, Java Script …


Cliff Walls: Threats To Validity In Empirical Studies Of Open Source Forges, Landon James Pratt Feb 2013

Cliff Walls: Threats To Validity In Empirical Studies Of Open Source Forges, Landon James Pratt

Theses and Dissertations

Artifact-based research provides a mechanism whereby researchers may study the creation of software yet avoid many of the difficulties of direct observation and experimentation. Open source software forges are of great value to the software researcher, because they expose many of the artifacts of software development. However, many challenges affect the quality of artifact-based studies, especially those studies examining software evolution. This thesis addresses one of these threats: the presence of very large commits, which we refer to as "Cliff Walls." Cliff walls are a threat to studies of software evolution because they do not appear to represent incremental development. …