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

Physical Sciences and Mathematics Commons

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

Selected Works

Software Engineering

Keyword
Publication Year
Publication
File Type

Articles 1 - 30 of 400

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 …


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

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

George K. Thiruvathukal

Background: Developers face challenges in building high-quality research software due to its inherent complexity. These challenges can reduce the confidence users have in the quality of the result produced by the software. Use of a defined software development process, which divides the development into distinct phases, results in improved design, more trustworthy results, and better project management. Aims: This paper focuses on gaining a better understanding of the use of software development process for research software. Method: We surveyed research software developers to collect information about their use of software development processes. We analyze whether and demographic factors influence the …


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 …


Setting Up A Low-Cost Lab Management System For A Multi-Purpose Computing Laboratory Using Virtualisation Technology, Heng Ngee Mok, Wee Kiat Tan Oct 2018

Setting Up A Low-Cost Lab Management System For A Multi-Purpose Computing Laboratory Using Virtualisation Technology, Heng Ngee Mok, Wee Kiat Tan

Heng Ngee MOK

This paper describes how a generic computer laboratory equipped with 52 workstations is set up for teaching IT-related courses and other general purpose usage. The authors have successfully constructed a lab management system based on decentralised, client-side software virtualisation technology using Linux and free software tools from VMware that fulfils the requirements of fast "switch over" time between consecutive lab sessions, the ability to support a wide range of IT courses and usage scenarios, low cost, easy maintenance, and a sandboxed environment for potentially disruptive IT security lab exercises. Sufficient implementation details are provided so that readers can build a …


Space Operations In The Suborbital Space Flight Simulator And Mission Control Center: Lessons Learned With Xcor Lynx, Pedro Llanos, Christopher Nguyen, David Williams, Kim O. Chambers Ph.D., Erik Seedhouse, Robert Davidson May 2018

Space Operations In The Suborbital Space Flight Simulator And Mission Control Center: Lessons Learned With Xcor Lynx, Pedro Llanos, Christopher Nguyen, David Williams, Kim O. Chambers Ph.D., Erik Seedhouse, Robert Davidson

Pedro J. Llanos (www.AstronauticsLlanos.com)

This study was conducted to better understand the performance of the XCOR Lynx vehicle. Because the Lynx development was halted, the best knowledge of vehicle dynamics can only be found through simulator flights. X-Plane 10 was chosen for its robust applications and accurate portrayal of dynamics on a vehicle in flight. The Suborbital Space Flight Simulator (SSFS) and Mission Control Center (MCC) were brought to the Applied Aviation Sciences department in fall 2015 at Embry-Riddle Aeronautical University, Daytona Beach campus. This academic and research tool is a department asset capable of providing multiple fields of data about suborbital simulated flights. …


Scrumtutor: A Web-Based Interactive Tutorial For Scrum Software Development, Sindhura Potineni, Srividya K. Bansal, Ashish Amresh Apr 2018

Scrumtutor: A Web-Based Interactive Tutorial For Scrum Software Development, Sindhura Potineni, Srividya K. Bansal, Ashish Amresh

Ashish Amresh

In a traditional software engineering class, students are typically engaged in theoretical lectures followed by homework assignments or a project. Use of hands-on training and laboratory activities using realworld projects is more likely to produce students with a higher level of achievement and more confidence in the course material. If every topic or technique introduced in the course has a corresponding hands-on activity that demonstrates an application or use of the concept in the industry, students better understand the need for the technique and the learning environment is more interactive, engaging, and interesting to students. This paper presents a project …


Developing A Bilingual, Computer-Tailored, Hpv Vaccination Promotion Intervention Targeting Latino Parents, Angela Chia-Chen Chen, Ashish Amresh Apr 2018

Developing A Bilingual, Computer-Tailored, Hpv Vaccination Promotion Intervention Targeting Latino Parents, Angela Chia-Chen Chen, Ashish Amresh

Ashish Amresh

In this paper we present an innovative, computer-tailored application aimed at increasing Latino parents' intention to vaccinate their adolescent children against Human Papilloma Virus (HPV). HPV infection is the most common sexually transmitted infection in the United States. Latinas have the highest age-adjusted incidence rate for HPV-associated cervical cancer compared with their counterparts in other racial/ethnic groups. HPV vaccines offer hope against HPV-associated diseases. Because parental consent is required for children under age 18 to receive t h e HPV vaccination in most U. S. states, parents' attitudes and intention to have their children vaccinated are keys for promoting HPV …


Towards A Context Agnostic Platform For Design And Assessment Of Educational Games, Tyler Baron, Corey Heath, Ashish Amresh Apr 2018

Towards A Context Agnostic Platform For Design And Assessment Of Educational Games, Tyler Baron, Corey Heath, Ashish Amresh

Ashish Amresh

The majority of the games designed for improving, acquiring or transferring knowledge rely heavily on building game mechanics that are grounded deeply in the content or subject matter being taught. There is a growing need for educational practitioners and pedagogical experts to have the ability to easily map learning outcomes by choosing from a pallet of functioning game mechanics without having the need to redesign them from scratch. In this paper, we present the current state of the art in context agnostic design and assessment of educational games, and propose three strategies that educators can take advantage of during the …


The Open World Microorganism, Stephen Thompson Apr 2018

The Open World Microorganism, Stephen Thompson

Stephen Thompson

Video games have been creating sprawling open world experiences for years, but as of yet none have ventured to create an authentic inner cell experience, using our knowledge of cells to recreate digitally what it would be like to shrink smaller than one and step inside. The benefits this application could yield are manifold, so this paper references the necessary ingredients and draws up the blueprints for the first three-dimensional, fully explorable, customizable, and interactive microorganism: an invention which could usher in a new age of biological literacy using technology already employed by many video games. The first part of …


Internet Enabled Remote Driving Of A Combat Hybrid Electric Power System For Duty Cycle Measurement, Jarrett Goodell, Marc Compere, Wilford Smith, Mark Brudnak, Mike Pozolo, Et Al. Feb 2018

Internet Enabled Remote Driving Of A Combat Hybrid Electric Power System For Duty Cycle Measurement, Jarrett Goodell, Marc Compere, Wilford Smith, Mark Brudnak, Mike Pozolo, Et Al.

Marc Compere

This paper describes a human-in-the-loop motion-based simulator interfaced to hybrid-electric power system hardware, both of which were used to measure the duty cycle of a combat vehicle in a virtual simulation environment. The project discussed is a greatly expanded follow-on to the experiment published in [1,7]. This paper is written in the context of [1,7] and therefore highlights the enhancements. The most prominent of these enhancements is the integration (in real-time) of the Power & Energy System Integration Lab (P&E SIL) with a motion base simulator by means of a “long haul” connection over the Internet (a geographical distance of …


Reproducible Research For Computing In Science & Engineering, Lorena A. Barba, George K. Thiruvathukal Jan 2018

Reproducible Research For Computing In Science & Engineering, Lorena A. Barba, George K. Thiruvathukal

George K. Thiruvathukal

The editors of the new track for reproducible research outline the parameters for future peer review, submission, and access, highlighting the magazine’s previous work in this field and some of the challenges still to come.


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 …


Lack Of Attention To Singular (Or Atomic) Requirements Despite Benefits For Quality, Metrics And Management, William L. Honig, Shingo Takada, Natsuko Noda Oct 2017

Lack Of Attention To Singular (Or Atomic) Requirements Despite Benefits For Quality, Metrics And Management, William L. Honig, Shingo Takada, Natsuko Noda

William L Honig

There are seemingly many advantages to being able to identify, document, test, and trace single or “atomic” requirements. Why then has there been little attention to the topic and no widely used definition or process on how to define atomic requirements? Definitions of requirements and standards focus on user needs, system capabilities or functions; some definitions include making individual requirements singular or without the use of conjunctions. In a few cases there has been a description of atomic system events or requirements. This work is surveyed here although there is no well accepted and used best practice for generating atomic …


Introduction To Atomic Requirements, William L. Honig Oct 2017

Introduction To Atomic Requirements, William L. Honig

William L Honig

An introduction to requirements and the importance of making single atomic requirements statements. Atomic requirements have advantages and improve the requirements process, support requirement verification and validation, enable traceability, support testability of systems, and provide management advantages. Why has there been so little emphasis on atomic requirements?


Requirements Quick Notes, William L. Honig, Shingo Takada Oct 2017

Requirements Quick Notes, William L. Honig, Shingo Takada

William L Honig

A short introduction to requirements and their role in system development. Includes industry definition of requirements, overview of basic requirements process including numbering of requirements, ties to testing, and traceability. An introduction to requirements quality attributes (correct, unambiguous, etc.) Includes references to requirements process, numbering, and quality papers.


An Example Of Atomic Requirements - Login Screen, William L. Honig Oct 2017

An Example Of Atomic Requirements - Login Screen, William L. Honig

William L Honig

A simple example of what an atomic or individual or singular requirement statement should be. Using the example of the familiar login screen, shows the evolution from a low quality initial attempt at requirements to a complete atomic requirement statement. Introduces the idea of a system glossary to support the atomic requirement.


Requirements Metrics - Definitions Of A Working List Of Possible Metrics For Requirements Quality, William L. Honig Oct 2017

Requirements Metrics - Definitions Of A Working List Of Possible Metrics For Requirements Quality, William L. Honig

William L Honig

A work in progress to define a metrics set for requirements. Metrics are defined that apply to either the entire requirements set (requirements document as a whole) or individual atomic (or singular, individual) requirements statements. Requirements are identified with standard names and a identification scheme and include both subjective and objective measures. An example metric for the full set of requirements: Rd2 - Requirements Consistency, Is the set of atomic requirements internally consistent, with no contradictions, no duplication between individual requirements? An example of a metric for a single requirement: Ra4 - Requirement Verifiability, How adequately can this requirement be …


Atomic Requirements Quick Notes, William L. Honig, Shingo Takada Oct 2017

Atomic Requirements Quick Notes, William L. Honig, Shingo Takada

William L Honig

Working paper on atomic requirements for systems development and the importance of singular, cohesive, individual requirements statements. Covers possible definitions of atomic requirements, and their characteristics. Atomic requirements improve many parts of the development process from requirements to testing and contracting.


Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis Oct 2017

Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis

Konstantin Läufer

Various hybrid-functional languages, designed to balance compile-time error detection, conciseness, and performance, have emerged. Scala, e.g., is interoperable with Java and has become an early leader in adoption, especially in the start-up and open-source spaces. As educators, we have recognized Scala’s value as a teaching language across the CS curriculum. In CS1, the read-eval-print loop and simple, uniform syntax aid programming in the small. In CS2, higher-order methods allow concise, efficient manipulation of collections. In a programming languages course, advanced constructs facilitate the separation of concerns, program representation and interpretation, and concurrent programming. In advanced applied courses, language mechanisms and …


Spring­11: Pdc In Cs1/2 And A Mobile/Cloud Intermediate Mobile/Cloud Intermediate Software Design Course, Joseph P. Kaylor, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal Oct 2017

Spring­11: Pdc In Cs1/2 And A Mobile/Cloud Intermediate Mobile/Cloud Intermediate Software Design Course, Joseph P. Kaylor, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal

Konstantin Läufer

Recent changes in the environment of Loyola University Chicago’s Department of Computer Science include a better differentiation of our four undergraduate majors, growing interest in computing among science majors, and an increased demand for graduates with mobile and cloud skills. In our continued effort to incorporate parallel and distributed computing topics into the undergraduate curriculum, we are focusing on these three existing courses: CS1: In response to a request from the physics department, we started to offer a CS1 section aimed at majors in physics and other hard sciences this spring semester. This section includes some material on numerical methods …


Building Capable, Energy-Efficient, Flexible Visualization And Sensing Clusters From Commodity Tablets, Thomas Delgado Dias, Xian Yan, Konstantin Läufer, George K. Thiruvathukal Oct 2017

Building Capable, Energy-Efficient, Flexible Visualization And Sensing Clusters From Commodity Tablets, Thomas Delgado Dias, Xian Yan, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

We explore the application of clusters of commodity tablet devices to problems spanning a “trilogy” of concerns: visualization, sensing, and computation. We conjecture that such clusters provide a low-cost, energy-efficient, flexible, and ultimately effective platform to tackle a wide range of problems within this trilogy. This is a work in progress, and we now elaborate our position and give a preliminary status report. A wide range of Android tablet devices are available in terms of price and capabilities. “You get what you pay for” w.r.t. display resolution, sensors, and chipset---corresponding to the trilogy. $200 gets one a 1280x800-pixel touch display, …


Network Technologies Used To Aggregate Environmental Data, Paul Stasiuk, Konstantin Läufer, George K. Thiruvathukal Oct 2017

Network Technologies Used To Aggregate Environmental Data, Paul Stasiuk, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

The goal of the Loyola Weather Service (lws) project is to design and build a system of functioning environmental monitoring widgets that can intelligently and autonomously control the environment around them based on set thresholds and triggers. The widgets will also have the ability to aggregate their data and easily display this data in various ways: through a user interface in the room that the widget is placed, via a web application, and programmatically via a RESTful web service.


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

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

Konstantin Läufer

RNA-interference has potential therapeutic use against HIV-1 by targeting highly-functional mRNA sequences that contribute to the virulence of the virus. Empirical work has shown that within cell lines, all of the HIV-1 genes are affected by RNAi-induced gene silencing. While promising, inherent in this treatment is the fact that RNAi sequences must be highly specific. HIV, however, mutates rapidly, leading to the evolution of viral escape mutants. In fact, such strains are under strong selection to include mutations within the targeted region, evading the RNAi therapy and thus increasing the virus’ fitness in the host. Taking a phylogenetic approach, we …


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

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

Catherine Putonti

RNA-interference has potential therapeutic use against HIV-1 by targeting highly-functional mRNA sequences that contribute to the virulence of the virus. Empirical work has shown that within cell lines, all of the HIV-1 genes are affected by RNAi-induced gene silencing. While promising, inherent in this treatment is the fact that RNAi sequences must be highly specific. HIV, however, mutates rapidly, leading to the evolution of viral escape mutants. In fact, such strains are under strong selection to include mutations within the targeted region, evading the RNAi therapy and thus increasing the virus’ fitness in the host. Taking a phylogenetic approach, we …


Architecture-Based Self-Adaptation For Moving Target Defense (Cmu-Isr-14-109), Bradley Schmerl, Javier Camara, Gabriel Moreno, David Garlan, Andrew O. Mellinger Sep 2017

Architecture-Based Self-Adaptation For Moving Target Defense (Cmu-Isr-14-109), Bradley Schmerl, Javier Camara, Gabriel Moreno, David Garlan, Andrew O. Mellinger

Gabriel A. Moreno

The fundamental premise behind Moving Target Defense (MTD) is to create a dynamic and shifting system that is more difficult to attack than a static system because a constantly changing attack surface at least reduces the chance of an attacker finding and exploiting the weakness. However, MTD approaches are typically chosen without regard to other qualities of the system, such as performance or cost. This report explores the use of self-adaptive systems, in particular those based on the architecture of the running system. A systems software architecture can be used to trade off different quality dimensions of the system. In …


Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis Jul 2017

Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis

George K. Thiruvathukal

Various hybrid-functional languages, designed to balance compile-time error detection, conciseness, and performance, have emerged. Scala, e.g., is interoperable with Java and has become an early leader in adoption, especially in the start-up and open-source spaces. As educators, we have recognized Scala’s value as a teaching language across the CS curriculum. In CS1, the read-eval-print loop and simple, uniform syntax aid programming in the small. In CS2, higher-order methods allow concise, efficient manipulation of collections. In a programming languages course, advanced constructs facilitate the separation of concerns, program representation and interpretation, and concurrent programming. In advanced applied courses, language mechanisms and …


Hot Topics In Cloud Computing, Liang-Jie Zhang, Jia Zhang, Jinan Fiaidhi, J. Morris Chang Jun 2017

Hot Topics In Cloud Computing, Liang-Jie Zhang, Jia Zhang, Jinan Fiaidhi, J. Morris Chang

Morris Chang

No abstract provided.


A Quantitative Cost/Benefit Analysis For Dynamic Updating, Bashar Gharaibeh, Hridesh Rajan, J. Morris Chang Jun 2017

A Quantitative Cost/Benefit Analysis For Dynamic Updating, Bashar Gharaibeh, Hridesh Rajan, J. Morris Chang

Morris Chang

Dynamic software updating provides many benefits, e.g. in runtime monitoring, runtime adaptation to fix bugs in long running applications, etc. Although it has several advantages, no quantitative analysis of its costs and revenue are available to show its benefits or limitations especially in comparison with other software updating schemes. To address this limitation in evaluating software updating schemes, we contribute a quantitative cost/benefit analysis based on net option-value model, which stems from the analysis of financial options. Our model expresses the relation between added value and paid cost in mathematical forms. We have used this model to evaluate the revenue …


Osspal: Finding And Evaluating Open Source Software, Anthony Wasserman Apr 2017

Osspal: Finding And Evaluating Open Source Software, Anthony Wasserman

Tony Wasserman

This paper describes the OSSpal project, which is aimed at helping companies, government agencies, and other organizations find high quality free and open source software (FOSS) that meets their needs. OSSpal is a successor to the Business Readiness Rating (BRR), combining quantitative and qualitative evaluation measures for software in various categories. Instead of a purely numeric calculated score OSSpal adds curation of high-quality FOSS projects and individual user reviews of these criteria. Unlike the BRR project, for which there was no automated support, OSSpal has an operational, publicly available website where users may search by project name or category, and …