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

Physical Sciences and Mathematics Commons

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

Articles 1 - 29 of 29

Full-Text Articles in Physical Sciences and Mathematics

Terry Riley's "In C" For Mobile Ensemble, David B. Wetzel, Griffin Moe, George K. Thiruvathukal Mar 2024

Terry Riley's "In C" For Mobile Ensemble, David B. Wetzel, Griffin Moe, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

This workshop presents a mobile-friendly Web Audio application for a “technology ensemble play-along” of Terry Riley’s 1964 composition In C. Attendees will join in a reading of In C using available web-enabled devices as musical instruments. We hope to demonstrate an accessible music-technology experience that relies on face-to-face interaction within a shared space. In this all-electronic implementation, no special musical or technical expertise is required.

Accepted for presentation and publication at WAC 2024.


Peatmoss: Mining Pre-Trained Models In Open-Source Software, Wenxin Jiang, Jason Jones, Jerin Yasmin, Nicholas Synovic, Rajiv Sashti, Sophie Chen, George K. Thiruvathukal, Yuan Tian, James C. Davis Oct 2023

Peatmoss: Mining Pre-Trained Models In Open-Source Software, Wenxin Jiang, Jason Jones, Jerin Yasmin, Nicholas Synovic, Rajiv Sashti, Sophie Chen, George K. Thiruvathukal, Yuan Tian, James C. Davis

Computer Science: Faculty Publications and Other Works

Developing and training deep learning models is expensive, so software engineers have begun to reuse pre-trained deep learning models (PTMs) and fine-tune them for downstream tasks. Despite the widespread use of PTMs, we know little about the corresponding software engineering behaviors and challenges. To enable the study of software engineering with PTMs, we present the PeaTMOSS dataset: Pre-Trained Models in Open-Source Software. PeaTMOSS has three parts: a snapshot of (1) 281,638 PTMs, (2) 27,270 open-source software repositories that use PTMs, and (3) a mapping between PTMs and the projects that use them. We challenge PeaTMOSS miners to discover software engineering …


Conversations With Chatgpt About C Programming: An Ongoing Study, James C. Davis, Yung-Hsiang Lu, George K. Thiruvathukal Mar 2023

Conversations With Chatgpt About C Programming: An Ongoing Study, James C. Davis, Yung-Hsiang Lu, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

AI (Artificial Intelligence) Generative Models have attracted great attention in recent years. Generative models can be used to create new articles, visual arts, music composition, even computer programs from English specifications. Among all generative models, ChatGPT is becoming one of the most well-known since its public announcement in November 2022. GPT means {\it Generative Pre-trained Transformer}. ChatGPT is an online program that can interact with human users in text formats and is able to answer questions in many topics, including computer programming. Many computer programmers, including students and professionals, are considering the use of ChatGPT as an aid. The quality …


Snapshot Metrics Are Not Enough: Analyzing Software Repositories With Longitudinal Metrics, Nicholas Synovic, Matt Hyattt, Rohan Sethi, Sohini Thota, Shilpika, Allan J. Miller, Wenxin Jiang, Emmanuel S. Amobi, Austin Pinderski, Konstantin Läufer, Nicholas J. Hayward, Neil Klingensmith, James C. Davis, George K. Thiruvathukal Jan 2023

Snapshot Metrics Are Not Enough: Analyzing Software Repositories With Longitudinal Metrics, Nicholas Synovic, Matt Hyattt, Rohan Sethi, Sohini Thota, Shilpika, Allan J. Miller, Wenxin Jiang, Emmanuel S. Amobi, Austin Pinderski, Konstantin Läufer, Nicholas J. Hayward, Neil Klingensmith, James C. Davis, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

Software metrics capture information about software development processes and products. These metrics support decision-making, e.g., in team management or dependency selection. However, existing metrics tools measure only a snapshot of a software project. Little attention has been given to enabling engineers to reason about metric trends over time -- longitudinal metrics that give insight about process, not just product. In this work, we present PRiME (PRocess MEtrics), a tool for computing and visualizing process metrics. The currently-supported metrics include productivity, issue density, issue spoilage, and bus factor. We illustrate the value of longitudinal data and conclude with a research agenda. …


Unoapi: Balancing Performance, Portability, And Productivity (P3) In Hpc Education, Konstantin Laufer, George K. Thiruvathukal Nov 2022

Unoapi: Balancing Performance, Portability, And Productivity (P3) In Hpc Education, Konstantin Laufer, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

oneAPI is a major initiative by Intel aimed at making it easier to program heterogeneous architectures used in high-performance computing using a unified application programming interface (API). While raising the abstraction level via a unified API represents a promising step for the current generation of students and practitioners to embrace high- performance computing, we argue that a curriculum of well- developed software engineering methods and well-crafted exem- plars will be necessary to ensure interest by this audience and those who teach them. We aim to bridge the gap by developing a curriculum—codenamed UnoAPI—that takes a more holistic approach by looking …


An Empirical Study Of Artifacts And Security Risks In The Pre-Trained Model Supply Chain, Wenxin Jiang, Nicholas Synovic, Rohan Sethi, Aryan Indarapu, Matt Hyattt, Taylor R. Schorlemmer, George K. Thiruvathukal, James C. Davis Nov 2022

An Empirical Study Of Artifacts And Security Risks In The Pre-Trained Model Supply Chain, Wenxin Jiang, Nicholas Synovic, Rohan Sethi, Aryan Indarapu, Matt Hyattt, Taylor R. Schorlemmer, George K. Thiruvathukal, James C. Davis

Computer Science: Faculty Publications and Other Works

Deep neural networks achieve state-of-the-art performance on many tasks, but require increasingly complex architectures and costly training procedures. Engineers can reduce costs by reusing a pre-trained model (PTM) and fine-tuning it for their own tasks. To facilitate software reuse, engineers collaborate around model hubs, collections of PTMs and datasets organized by problem domain. Although model hubs are now comparable in popularity and size to other software ecosystems, the associated PTM supply chain has not yet been examined from a software engineering perspective.

We present an empirical study of artifacts and security features in 8 model hubs. We indicate the potential …


Requirements Metrics - A Working List, William L. Honig Jun 2021

Requirements Metrics - A Working List, William L. Honig

Computer Science: Faculty Publications and Other Works

A working set of metrics for review of requirements materials including documents.


Establishing Suitable Metrics To Encourage Broader Use Of Atomic Requirements, William L. Honig Jun 2021

Establishing Suitable Metrics To Encourage Broader Use Of Atomic Requirements, William L. Honig

Computer Science: Faculty Publications and Other Works

Despite the apparent benefits of singular, individual, or atomic requirements, their use remains limited, and teaching their creation is difficult. The acceptance of a set of requirements metrics specifically designed to evaluate atomic requirements may lead to their better utilization and improved requirements engineering. Twelve metrics designed to measure atomic requirements are presented here: six used on individual requirements statements and six applied to a requirements document or set of requirement statements. Example metrics for individual requirements are Requirement Completeness and Requirement Atomicity; examples to measure multiple requirements include Requirements Traceablity and Requirements Purity. These metrics are designed to work …


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 Jul 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

Computer Science: Faculty Publications and Other Works

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

Computer Science: Faculty Publications and Other Works

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

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

Computer Science: Faculty Publications and Other Works

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 …


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

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

Computer Science: Faculty Publications and Other Works

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.


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 …


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

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

Computer Science: Faculty Publications and Other Works

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 …


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 …


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

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

Computer Science: Faculty Publications and Other Works

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.


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

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

Computer Science: Faculty Publications and Other Works

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.


Introduction To Atomic Requirements, William L. Honig Apr 2016

Introduction To Atomic Requirements, William L. Honig

Computer Science: Faculty Publications and Other Works

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 Metrics - Definitions Of A Working List Of Possible Metrics For Requirements Quality, William L. Honig Mar 2016

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

Computer Science: Faculty Publications and Other Works

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 …


Requirements Quick Notes, William L. Honig, Shingo Takada Mar 2016

Requirements Quick Notes, William L. Honig, Shingo Takada

Computer Science: Faculty Publications and Other Works

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.


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 May 2013

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

Computer Science: Faculty Publications and Other Works

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 …


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

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

Computer Science: Faculty Publications and Other Works

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.


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

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

Computer Science: Faculty Publications and Other Works

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


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

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

Computer Science: Faculty Publications and Other Works

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 …


Intelligent Systems Development In A Non Engineering Curriculum, Emily A. Brand, William L. Honig, Matthew Wojtowicz Jun 2011

Intelligent Systems Development In A Non Engineering Curriculum, Emily A. Brand, William L. Honig, Matthew Wojtowicz

Computer Science: Faculty Publications and Other Works

Much of computer system development today is programming in the large - systems of millions of lines of code distributed across servers and the web. At the same time, microcontrollers have also become pervasive in everyday products, economical to manufacture, and represent a different level of learning about system development. Real world systems at this level require integrated development of custom hardware and software.

How can academic institutions give students a view of this other extreme - programming on small microcontrollers with specialized hardware? Full scale system development including custom hardware and software is expensive, beyond the range of any …


Enhancing The Cs Curriculum With With Aspect-Oriented Software Development (Aosd) And Early Experience, Konstantin Läufer, George K. Thiruvathukal, Tzilla Elrad Sep 2003

Enhancing The Cs Curriculum With With Aspect-Oriented Software Development (Aosd) And Early Experience, Konstantin Läufer, George K. Thiruvathukal, Tzilla Elrad

Computer Science: Faculty Publications and Other Works

Aspect-oriented software development (AOSD) is evolving as an important step beyond existing software development approaches such as object-oriented development. An aspect is a module that captures a crosscutting concern, behavior that cuts across different units of abstraction in a software application; expressed as a module, such behavior can be enabled and disabled transparently and non-invasively, without changing the application code itself. Increasing industry demand for expertise in AOSD gives rise to the pedagogical challenge of covering this methodology and its foundations in the computer science curriculum. We present our curricular initiative to incorporate a novel course in AOSD in the …


A Multi-Platform Application Suite For Enhancing South Asian Language Pedagogy, Tao Bai, Christopher K. Chung, Konstantin Läufer, Daisy Rockwell, George K. Thiruvathukal Jan 2003

A Multi-Platform Application Suite For Enhancing South Asian Language Pedagogy, Tao Bai, Christopher K. Chung, Konstantin Läufer, Daisy Rockwell, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

This interdisciplinary project explores the potential for handheld/wireless (H/W) technology in the context of language education within and beyond the classroom. Specifically, we have designed and implemented a suite of multi-platform (desktop/laptop, handheld, and browser) applications to enhance the teaching of South Asian languages such as Hindi-Urdu. Such languages are very difficult to learn, let alone write, and H/W devices (with their handwriting/drawing capabilities) can play a significant role in overcoming the learning curve. The initial application suite includes a character/word tracer, a word splitter/joiner, a smart flashcard with audio, contextual augmented stories for reading comprehension, and a poetic metronome. …


The Extreme Software Development Series: An Open Curricular Framework For Applied Capstone Courses, Konstantin Läufer, George K. Thiruvathukal Jan 2003

The Extreme Software Development Series: An Open Curricular Framework For Applied Capstone Courses, Konstantin Läufer, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

We describe an open, flexible curricular framework for offering a collection of advanced undergraduate and graduate courses in software development. The courses offered within this framework are further unified by combining solid foundations with current technology and play the role of capstone courses in a modern software development track. Our initiative has been very successful with all stakeholders involved.


On The Interaction Of Object-Oriented Design Patterns And Programming Languages, Gerald Baumgartner, Konstantin Läufer, Vincent F. Russo Feb 1996

On The Interaction Of Object-Oriented Design Patterns And Programming Languages, Gerald Baumgartner, Konstantin Läufer, Vincent F. Russo

Computer Science: Faculty Publications and Other Works

Design patterns are distilled from many real systems to catalog common programming practice. However, some object-oriented design patterns are distorted or overly complicated because of the lack of supporting programming language constructs or mechanisms. For this paper, we have analyzed several published design patterns looking for idiomatic ways of working around constraints of the implementation language. From this analysis, we lay a groundwork of general-purpose language constructs and mechanisms that, if provided by a statically typed, object-oriented language, would better support the implementation of design patterns and, transitively, benefit the construction of many real systems. In particular, our catalog of …