Open Access. Powered by Scholars. Published by Universities.®
- Keyword
-
- Atomic requirements (6)
- Singular requirements (6)
- Software engineering (6)
- Computer science (5)
- Requirements (5)
-
- Software process (4)
- Quality attributes (3)
- Scientific computing (3)
- System development (3)
- Artificial intelligence (2)
- Metrics (2)
- Software (2)
- Software metrics (2)
- AOSD (1)
- Algorithms (1)
- Arduino course (1)
- Atomic Requirements (1)
- Atomic use cases (1)
- Bioinformatics (1)
- Bus factor (1)
- C++ (1)
- ChatGPT (1)
- Cloud computing (1)
- Cohesive requirements (1)
- Complexity theory (1)
- Composition (1)
- Computational science (1)
- Computer science education (1)
- Computing education (1)
- Concurrency (1)
Articles 1 - 29 of 29
Full-Text Articles in Computer Sciences
Terry Riley's "In C" For Mobile Ensemble, David B. Wetzel, Griffin Moe, George K. Thiruvathukal
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
Spring11: 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
Spring11: 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
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
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
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
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
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
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
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
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 …