Open Access. Powered by Scholars. Published by Universities.®
Physical Sciences and Mathematics Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Keyword
-
- Java (17)
- Refactoring (17)
- Java 8 (12)
- Software engineering (11)
- Programming languages (9)
-
- Default methods (8)
- Streams (8)
- Scala (7)
- Automated refactoring (6)
- Empirical studies (6)
- Software evolution (6)
- Software maintenance (6)
- Software tools (6)
- Static analysis (6)
- Typestate analysis (6)
- Aspect-oriented programming (5)
- Automatic parallelization (4)
- Computer science (4)
- Enumerated types (4)
- Interfaces (4)
- Introduction to computer programming (4)
- Aspect-Oriented programming (3)
- Aspect-oriented software (3)
- Concurrency (3)
- Deep learning (3)
- Functional programming (3)
- Imperative programs (3)
- Object oriented programming (3)
- Programming (3)
- Software environments (3)
- Publication Year
- Publication
- Publication Type
- File Type
Articles 1 - 30 of 79
Full-Text Articles in Physical Sciences and Mathematics
What Does One Billion Dollars Look Like?: Visualizing Extreme Wealth, William Mahoney Luckman
What Does One Billion Dollars Look Like?: Visualizing Extreme Wealth, William Mahoney Luckman
Dissertations, Theses, and Capstone Projects
The word “billion” is a mathematical abstraction related to “big,” but it is difficult to understand the vast difference in value between one million and one billion; even harder to understand the vast difference in purchasing power between one billion dollars, and the average U.S. yearly income. Perhaps most difficult to conceive of is what that purchasing power and huge mass of capital translates to in terms of power. This project blends design, text, facts, and figures into an interactive narrative website that helps the user better understand their position in relation to extreme wealth: https://whatdoesonebilliondollarslooklike.website/
The site incorporates …
Μakka: Mutation Testing For Actor Concurrency In Akka Using Real-World Bugs, Mohsen Moradi Moghadam, Mehdi Bagherzadeh, Raffi Takvor Khatchadourian Ph,D,, Hamid Bagheri
Μakka: Mutation Testing For Actor Concurrency In Akka Using Real-World Bugs, Mohsen Moradi Moghadam, Mehdi Bagherzadeh, Raffi Takvor Khatchadourian Ph,D,, Hamid Bagheri
Publications and Research
Actor concurrency is becoming increasingly important in the real-world and mission-critical software. This requires these applications to be free from actor bugs, that occur in the real world, and have tests that are effective in finding these bugs. Mutation testing is a well-established technique that transforms an application to induce its likely bugs and evaluate the effectiveness of its tests in finding these bugs. Mutation testing is available for a broad spectrum of applications and their bugs, ranging from web to mobile to machine learning, and is used at scale in companies like Google and Facebook. However, there still is …
Towards Safe Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Takvor Khatchadourian Ph.D., Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Towards Safe Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi Takvor Khatchadourian Ph.D., Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
Efficiency is essential to support responsiveness w.r.t. ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code—supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged at the expense of run-time performance. Though hybrid approaches aim for the “best of both worlds,” using them effectively requires subtle considerations to make code amenable to safe, accurate, and efficient graph execution. We present our ongoing work on automated refactoring that assists developers in specifying whether …
Towards Safe Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi T. Khatchadourian Ph,D,, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Towards Safe Automated Refactoring Of Imperative Deep Learning Programs To Graph Execution, Raffi T. Khatchadourian Ph,D,, Tatiana Castro Vélez, Mehdi Bagherzadeh, Nan Jia, Anita Raja
Publications and Research
Efficiency is essential to support responsiveness w.r.t. ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code—supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged at the expense of run-time performance. Though hybrid approaches aim for the "best of both worlds," using them effectively requires subtle considerations to make code amenable to safe, accurate, and efficient graph execution. We present our ongoing work on automated refactoring that assists developers in specifying whether …
Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi T. Khatchadourian
Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Introduction, Raffi T. Khatchadourian
Introduction, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Reengineering And Refactoring, Raffi T. Khatchadourian
Reengineering And Refactoring, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Wala Quick Start, Raffi T. Khatchadourian
Wala Quick Start, Raffi T. Khatchadourian
Open Educational Resources
Setting up and trying the TJ Watson Library for Analysis (WALA).
Building An Ast Eclipse Plug-In, Raffi T. Khatchadourian
Building An Ast Eclipse Plug-In, Raffi T. Khatchadourian
Open Educational Resources
Complete the Building an AST Eclipse Plug-in assignment. Once it works, find a medium-sized open-source Java project to run your plugin on. You may want to explore GitHub. Import the project into Eclipse and run your plug-in on it. Report on the following, which may require you to change some of the source code so that it is convenient:
- Project name.
- Project URL.
- Project description.
- The number of classes in the project.
- The number of user-defined methods in the project.
- For each class, the number of method calls.
- Statistics about the method calls:
- The total number of method calls …
Working With Control-Flow Graphs, Raffi T. Khatchadourian
Working With Control-Flow Graphs, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Review Java Basics In 2 Weeks (Slides), Shoshana Marcus
Review Java Basics In 2 Weeks (Slides), Shoshana Marcus
Open Educational Resources
No abstract provided.
Cp 6200 Java Programming 2 Syllabus (Oer), Shoshana Marcus
Cp 6200 Java Programming 2 Syllabus (Oer), Shoshana Marcus
Open Educational Resources
No abstract provided.
Cp6200 Javaprogramming2 Oer - Oop Assignment - Item And Shopping Cart Classes, Shoshana Marcus
Cp6200 Javaprogramming2 Oer - Oop Assignment - Item And Shopping Cart Classes, Shoshana Marcus
Open Educational Resources
No abstract provided.
Cp6200 Javaprogramming2 Oer - Oop Course Project, Shoshana Marcus
Cp6200 Javaprogramming2 Oer - Oop Course Project, Shoshana Marcus
Open Educational Resources
No abstract provided.
Methods For Drone Trajectory Analysis Of Bottlenose Dolphins (Tursiops Truncatus), Jillian D. Bliss
Methods For Drone Trajectory Analysis Of Bottlenose Dolphins (Tursiops Truncatus), Jillian D. Bliss
Theses and Dissertations
With the increase in the use of UAS (Unmanned Aerial Systems) for marine mammal research, there is a need for the development of methods of analysis to transform UAS high resolution video into quantitative data. This study sought to develop a preliminary method of analysis that would quantify and present a way to visualize the dynamics and relative spatial distribution and changes in distribution of bottlenose dolphins (Tursiops truncatus) in the waters of Turneffe Atoll, Belize. This approach employs a previously developed video tracking program ‘Keypoint Tracking’ that enables manual tracking of individual dolphins and the creation of …
How Many Mutex Bugs Can A Simple Analysis Find In Go Programs?, Fumi Takeuchi, Hidehiko Masuhara, Raffi T. Khatchadourian, Youyou Cong, Keisuke Ishibashi
How Many Mutex Bugs Can A Simple Analysis Find In Go Programs?, Fumi Takeuchi, Hidehiko Masuhara, Raffi T. Khatchadourian, Youyou Cong, Keisuke Ishibashi
Publications and Research
In open-source software, it is known that there are many concurrency bugs. A previous study in Go revealed that a considerable number of such bugs are simple (for example, 9% of the bugs are the ones that forget to unlock a mutex,) through a manual program investigation. This paper tries to detect such bugs by applying a simple analysis to see how far such a tool can match the manual analysis. We built a simple intraprocedural control flow analysis in Go, and evaluated its performance concerning the open source programs with concurrency bugs reported in the previous study. Consequently, as …
Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi T. Khatchadourian, Mehdi Bagherzadeh, Anita Raja
Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi T. Khatchadourian, Mehdi Bagherzadeh, Anita Raja
Publications and Research
Efficiency is essential to support responsiveness w.r.t. ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code that supports symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development tends to produce DL code that is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, less error-prone imperative DL frameworks encouraging eager execution have emerged at the expense of run-time performance. While hybrid approaches aim for the "best of both worlds," the challenges in applying them in the real world are largely unknown. We conduct a data-driven analysis of challenges—and resultant bugs—involved …
A Tool For Rejuvenating Feature Logging Levels Via Git Histories And Degree Of Interest, Yiming Tang, Allan Spektor, Raffi T. Khatchadourian, Mehdi Bagherzadeh
A Tool For Rejuvenating Feature Logging Levels Via Git Histories And Degree Of Interest, Yiming Tang, Allan Spektor, Raffi T. Khatchadourian, Mehdi Bagherzadeh
Publications and Research
Logging is a significant programming practice. Due to the highly transactional nature of modern software applications, a massive amount of logs are generated every day, which may overwhelm developers. Logging information overload can be dangerous to software applications. Using log levels, developers can print the useful information while hiding the verbose logs during software runtime. As software evolves, the log levels of logging statements associated with the surrounding software feature implementation may also need to be altered. Maintaining log levels necessitates a significant amount of manual effort. In this paper, we demonstrate an automated approach that can rejuvenate feature log …
Eclipse, Osgi, And The Java Model, Raffi T. Khatchadourian
Eclipse, Osgi, And The Java Model, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Abstract Syntax Trees (Asts) And The Visitor Pattern, Raffi T. Khatchadourian
Abstract Syntax Trees (Asts) And The Visitor Pattern, 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
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 in knowledge of how ML systems 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 software, …
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
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 …
Actor Concurrency Bugs: A Comprehensive Study On Symptoms, Root Causes, Api Usages, And Differences, Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi T. Khatchadourian
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
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 5, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Collections In Scala, Raffi T. Khatchadourian
Collections In Scala, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 4, Raffi T. Khatchadourian
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
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
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
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
Csci 49380/79526: Fundamentals Of Reactive Programming - Assignment 2, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.