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

Physical Sciences and Mathematics Commons

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

Articles 1 - 9 of 9

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, …


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 …


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 …


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 …


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 …


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.