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

Physical Sciences and Mathematics Commons

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

Articles 1 - 21 of 21

Full-Text Articles in Physical Sciences and Mathematics

Tests As Maintainable Assets Via Auto-Generated Spies: A Case Study Involving The Scala Collections Library's Iterator Trait, Konstantin Läufer, John O'Sullivan, George K. Thiruvathukal Jun 2019

Tests As Maintainable Assets Via Auto-Generated Spies: A Case Study Involving The Scala Collections Library's Iterator Trait, Konstantin Läufer, John O'Sullivan, George K. Thiruvathukal

George K. Thiruvathukal

In testing stateful abstractions, it is often necessary to record interactions, such as method invocations, and express assertions over these interactions. Following the Test Spy design pattern, we can reify such interactions programmatically through additional mutable state. Alternatively, a mocking framework, such as Mockito, can automatically generate test spies that allow us to record the interactions and express our expectations in a declarative domain-specific language. According to our study of the test code for Scala’s Iterator trait, the latter approach can lead to a significant reduction of test code complexity in terms of metrics such as code size (in some …


A Survey Of Software Metric Use In Research Software Development, Nasir U. Eisty, George K. Thiruvathukal, Jeffrey C. Carver Jan 2019

A Survey Of Software Metric Use In Research Software Development, Nasir U. Eisty, George K. Thiruvathukal, Jeffrey C. Carver

George K. Thiruvathukal

Background: Breakthroughs in research increasingly depend on complex software libraries, tools, and applications aimed at supporting specific science, engineering, business, or humanities disciplines. The complexity and criticality of this software motivate the need for ensuring quality and reliability. Software metrics are a key tool for assessing, measuring, and understanding software quality and reliability. Aims: The goal of this work is to better understand how research software developers use traditional software engineering concepts, like metrics, to support and evaluate both the software and the software development process. One key aspect of this goal is to identify how the set of metrics …


The Evolution Of Requirements Practices In Software Startups, Catarina Gralha, Daniela Damian, Anthony Wasserman, Miguel Goulão, João Araújo Dec 2017

The Evolution Of Requirements Practices In Software Startups, Catarina Gralha, Daniela Damian, Anthony Wasserman, Miguel Goulão, João Araújo

Tony Wasserman

We use Grounded Theory to study the evolution of requirements practices of 16 so ware startups as they grow and introduce new products and services. These startups operate in a dynamic environment, with significant time and market pressure, and rarely have time for systematic requirements analysis. Our theory describes the evolution of practice along six dimensions that emerged as relevant to their requirements activities: requirements artefacts, knowledge management, requirements-related roles, planning, technical debt and product quality. Beyond the relationships among the dimensions, our theory also explains the turning points that drove the evolution along these dimensions. These changes are reactive, …


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

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

Nicholas Hayward

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 …


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

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

William L Honig

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 …


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

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

Konstantin Läufer

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 …


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 Oct 2017

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

Konstantin Läufer

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 …


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 Sep 2017

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

Catherine Putonti

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 …


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

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

George K. Thiruvathukal

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 …


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

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

George K. Thiruvathukal

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 …


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 2017

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

George K. Thiruvathukal

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 …


Software Engineering Need Not Be Difficult, Jeffrey Carver, George Thiruvathukal Aug 2015

Software Engineering Need Not Be Difficult, Jeffrey Carver, George Thiruvathukal

George K. Thiruvathukal

"Progress in scientific research is dependent on the quality and accessibility of software at all levels" (the overall premise of the workshop). We argue that true progress depends on embracing the best traditional--and emergent-- practices in software engineering, especially agile practices that intersect with the tradition of software engineering. Software engineering as practiced today is more than the stereotypical monolithic lifecycle processes (e.g. waterfall, spiral, etc.) that historically have impeded progress for small/medium sized development efforts. In addition, the discipline and practice of software engineering includes software quality (with an established tradition of software metrics). Software processes can be …


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

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

David LO

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 …


An Organizational Maturity Model Of Software Product Line Engineering, Faheem Ahmed, Luiz Fernando Capretz Jan 2014

An Organizational Maturity Model Of Software Product Line Engineering, Faheem Ahmed, Luiz Fernando Capretz

Luiz Fernando Capretz

Software product line engineering is an inter-disciplinary concept. It spans the dimensions of business, architecture, process, and the organization. Some of the potential benefits of this approach include cost reduction, improvements in product quality and a decrease in product development time. The increasing popularity of software product line engineering in the software industry necessitates a process maturity evaluation methodology. Accordingly, this paper presents an organizational maturity model of software product line engineering for evaluating the maturity of organizational dimension. The model assumes that organizational theories, behavior, and management play a critical role in the institutionalization of software product line engineering …


Work In Progress - Synthesizing Design, Engineering, And Entrepreneurship Through A Mobile Application Development Course, Mark L. Chang Jul 2012

Work In Progress - Synthesizing Design, Engineering, And Entrepreneurship Through A Mobile Application Development Course, Mark L. Chang

Mark L. Chang

In this paper, we describe our experiences in designing and delivering a course that blends together design, engineering, and entrepreneurship through the use of mobile devices. The significance of this work is in advocating for and demonstrating the motivational and educational benefits of using a mobile platform, and describing how to utilize the mobile marketplace to provide an authentic, real-world experience across these three domains.


Unit Testing Considered Useful, George K. Thiruvathukal, Konstantin Läufer, Benjamin Gonzalez Jan 2012

Unit Testing Considered Useful, George K. Thiruvathukal, Konstantin Läufer, Benjamin Gonzalez

Konstantin Läufer

Testing is an important part of application development. Hardware engineers, in particular, have a long established history of testing for the obvious reason that it's awfully hard to rebuild a microprocessor every time a bug pops up in the design stage--not to mention the enormous headaches such bugs generate on the software side.


Unit Testing Considered Useful, George K. Thiruvathukal, Konstantin Läufer, Benjamin Gonzalez Nov 2011

Unit Testing Considered Useful, George K. Thiruvathukal, Konstantin Läufer, Benjamin Gonzalez

George K. Thiruvathukal

Testing is an important part of application development. Hardware engineers, in particular, have a long established history of testing for the obvious reason that it's awfully hard to rebuild a microprocessor every time a bug pops up in the design stage--not to mention the enormous headaches such bugs generate on the software side.


Mining Iterative Generators And Representative Rules For Software Specification Discovery, David Lo, Jinyan Li, Limsoon Wong, Siau-Cheng Khoo Nov 2011

Mining Iterative Generators And Representative Rules For Software Specification Discovery, David Lo, Jinyan Li, Limsoon Wong, Siau-Cheng Khoo

David LO

Billions of dollars are spent annually on software-related cost. It is estimated that up to 45 percent of software cost is due to the difficulty in understanding existing systems when performing maintenance tasks (i.e., adding features, removing bugs, etc.). One of the root causes is that software products often come with poor, incomplete, or even without any documented specifications. In an effort to improve program understanding, Lo et al. have proposed iterative pattern mining which outputs patterns that are repeated frequently within a program trace, or across multiple traces, or both. Frequent iterative patterns reflect frequent program behaviors that likely …


Designing For Incentives: Better Information Sharing For Better Software Engineering, Mark Klein, Gabriel A. Moreno, David C. Parkes, Kurt Wallnau Oct 2010

Designing For Incentives: Better Information Sharing For Better Software Engineering, Mark Klein, Gabriel A. Moreno, David C. Parkes, Kurt Wallnau

Gabriel A. Moreno

Software-reliant systems permeate all aspects of modern society. The resulting interconnectedness and associated complexity has resulted in a proliferation of diverse stakeholders with conflicting goals. Thus, contemporary software engineering is plagued by incentive conflicts, in settling on design features, allocating resources during the development of products, and allocating computational resources at runtime. In this position paper, we describe some of these problems and outline a research agenda in bridging to the economic theory of mechanism design, which seeks to align incentives in multi-agent systems with private information and conflicting goals. The ultimate goal is to advance a principled methodology for …


Towards Software Health Management With Bayesian Networks, Johann Schumann, Ole J. Mengshoel, Ashok Srivastava, Adnan Darwiche Oct 2010

Towards Software Health Management With Bayesian Networks, Johann Schumann, Ole J. Mengshoel, Ashok Srivastava, Adnan Darwiche

Ole J Mengshoel

More and more systems (e.g., aircraft, machinery, cars) rely heavily on software, which performs safety-critical operations. Assuring software safety though traditional V&V has become a tremendous, if not impossible task, given the growing size and complexity of the software. We propose that iSWHM (Integrated SoftWare Health Management) can increase safety and reliability of high-assurance software systems. iSWHM uses advanced techniques from the area of system health management in order to continuously monitor the behavior of the software during operation, quickly detect anomalies and perform automatic and reliable root-cause analysis, while not replacing traditional V&V. Information provided by the iSWHM system …


Fast Energy Loss Computation And Fuzzy-Based Shunt Capacitor Insertion, Philadelphia University May 2010

Fast Energy Loss Computation And Fuzzy-Based Shunt Capacitor Insertion, Philadelphia University

Philadelphia University, Jordan

No abstract provided.