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

Physical Sciences and Mathematics Commons

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

Articles 1 - 15 of 15

Full-Text Articles in Physical Sciences and Mathematics

Actor Concurrency Bugs: A Comprehensive Study On Symptoms, Root Causes, Api Usages, And Differences, Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi T. Khatchadourian Nov 2020

Actor Concurrency Bugs: A Comprehensive Study On Symptoms, Root Causes, Api Usages, And Differences, Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi T. Khatchadourian

Publications and Research

Actor concurrency is becoming increasingly important in the development of real-world software systems. Although actor concurrency may be less susceptible to some multithreaded concurrency bugs, such as low-level data races and deadlocks, it comes with its own bugs that may be different. However, the fundamental characteristics of actor concurrency bugs, including their symptoms, root causes, API usages, examples, and differences when they come from different sources are still largely unknown. Actor software development can significantly benefit from a comprehensive qualitative and quantitative understanding of these characteristics, which is the focus of this work, to foster better API documentations, development practices, …


Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 5, Raffi T. Khatchadourian Nov 2020

Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 5, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Collections In Scala, Raffi T. Khatchadourian Oct 2020

Collections In Scala, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 4, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 4, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 3, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 3, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming- Assignment 1, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming- Assignment 1, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming- Syllabus, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming- Syllabus, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 2, Raffi T. Khatchadourian Oct 2020

Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 2, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


Inheritance Details In Scala, Raffi T. Khatchadourian Sep 2020

Inheritance Details In Scala, Raffi T. Khatchadourian

Open Educational Resources

No abstract provided.


An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi T. Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja Aug 2020

An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi T. Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja

Publications and Research

Machine Learning (ML), including Deep Learning (DL), systems, i.e., those with ML capabilities, are pervasive in today's data-driven society. Such systems are complex; they are comprised of ML models and many subsystems that support learning processes. As with other complex systems, ML systems are prone to classic technical debt issues, especially when such systems are long-lived, but they also exhibit debt specific to these systems. Unfortunately, there is a gap of knowledge in how ML systems actually evolve and are maintained. In this paper, we fill this gap by studying refactorings, i.e., source-to-source semantics-preserving program transformations, performed in real-world, open-source …


Snow-Albedo Feedback In Northern Alaska: How Vegetation Influences Snowmelt, Lucas C. Reckhaus Aug 2020

Snow-Albedo Feedback In Northern Alaska: How Vegetation Influences Snowmelt, Lucas C. Reckhaus

Theses and Dissertations

This paper investigates how the snow-albedo feedback mechanism of the arctic is changing in response to rising climate temperatures. Specifically, the interplay of vegetation and snowmelt, and how these two variables can be correlated. This has the potential to refine climate modelling of the spring transition season. Research was conducted at the ecoregion scale in northern Alaska from 2000 to 2020. Each ecoregion is defined by distinct topographic and ecological conditions, allowing for meaningful contrast between the patterns of spring albedo transition across surface conditions and vegetation types. The five most northerly ecoregions of Alaska are chosen as they encompass …


An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray Apr 2020

An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray

Publications and Research

Streaming APIs allow for big data processing of native data structures by providing MapReduce-like operations over these structures. However, unlike traditional big data systems, these data structures typically reside in shared memory accessed by multiple cores. Although popular, this emerging hybrid paradigm opens the door to possibly detrimental behavior, such as thread contention and bugs related to non-execution and non-determinism. This study explores the use and misuse of a popular streaming API, namely, Java 8 Streams. The focus is on how developers decide whether or not to run these operations sequentially or in parallel and bugs both specific and tangential …


An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray Apr 2020

An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray

Publications and Research

Streaming APIs allow for big data processing of native data structures by providing MapReduce-like operations over these structures. However, unlike traditional big data systems, these data structures typically reside in shared memory accessed by multiple cores. Although popular, this emerging hybrid paradigm opens the door to possibly detrimental behavior, such as thread contention and bugs related to non-execution and non-determinism. This study explores the use and misuse of a popular streaming API, namely, Java 8 Streams. The focus is on how developers decide whether or not to run these operations sequentially or in parallel and bugs both specific and tangential …


Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh Jan 2020

Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh

Publications and Research

Streaming APIs are becoming more pervasive in mainstream Object-Oriented programming languages and platforms. For example, the Stream API introduced in Java 8 allows for functional-like, MapReduce-style operations in processing both finite, e.g., collections, and infinite data structures. However, using this API efficiently involves subtle considerations such as determining when it is best for stream operations to run in parallel, when running operations in parallel can be less efficient, and when it is safe to run in parallel due to possible lambda expression side-effects. ics-preserving fashion. The approach, based on a novel data ordering and typestate analysis, consists of preconditions and …


V-Slam And Sensor Fusion For Ground Robots, Ejup Hoxha Jan 2020

V-Slam And Sensor Fusion For Ground Robots, Ejup Hoxha

Dissertations and Theses

In underground, underwater and indoor environments, a robot has to rely solely on its on-board sensors to sense and understand its surroundings. This is the main reason why SLAM gained the popularity it has today. In recent years, we have seen excellent improvement on accuracy of localization using cameras and combinations of different sensors, especially camera-IMU (VIO) fusion. Incorporating more sensors leads to improvement of accuracy,but also robustness of SLAM. However, while testing SLAM in our ground robots, we have seen a decrease in performance quality when using the same algorithms on flying vehicles.We have an additional sensor for ground …