Open Access. Powered by Scholars. Published by Universities.®
- Discipline
-
- Programming Languages and Compilers (63)
- Artificial Intelligence and Robotics (18)
- Graphics and Human Computer Interfaces (11)
- Engineering (10)
- Computer Engineering (9)
-
- Systems Architecture (6)
- Databases and Information Systems (4)
- Information Security (4)
- Social and Behavioral Sciences (4)
- Theory and Algorithms (4)
- Data Science (3)
- Internet Law (3)
- Law (3)
- Numerical Analysis and Scientific Computing (3)
- Robotics (3)
- Arts and Humanities (2)
- Computer and Systems Architecture (2)
- Data Storage Systems (2)
- Digital Communications and Networking (2)
- Mathematics (2)
- OS and Networks (2)
- Other Computer Sciences (2)
- Public Affairs, Public Policy and Public Administration (2)
- Science and Technology Policy (2)
- Science and Technology Studies (2)
- American Politics (1)
- Applied Linguistics (1)
- Keyword
-
- Refactoring (24)
- Software engineering (17)
- Java (13)
- Java 8 (12)
- Deep learning (10)
-
- Programming languages (9)
- Software evolution (9)
- Default methods (8)
- Imperative programs (8)
- Streams (8)
- Empirical studies (7)
- Software maintenance (7)
- Software tools (7)
- Static analysis (7)
- Automated refactoring (6)
- Typestate analysis (6)
- Aspect-oriented programming (5)
- Machine learning systems (5)
- Software repository mining (5)
- Automatic parallelization (4)
- Enumerated types (4)
- HCI (4)
- Hybrid programming paradigms (4)
- Interfaces (4)
- Aspect-Oriented programming (3)
- Computer science (3)
- Graph execution (3)
- Graphs (3)
- Human Computer Interaction (3)
- Programming (3)
- Publication Year
- Publication
- Publication Type
- File Type
Articles 31 - 60 of 100
Full-Text Articles in Software Engineering
Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi Khatchadourian, Mehdi Bagherzadeh, Anita Raja
Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi 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 Khatchadourian, Mehdi Bagherzadeh
A Tool For Rejuvenating Feature Logging Levels Via Git Histories And Degree Of Interest, Yiming Tang, Allan Spektor, Raffi 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 …
Me2b Alliance Validation Testing Report: Consumer Perception Of Legal Policies In Digital Technology, Noreen Y. Whysel, Karina Alexanyan, Shaun Spaulting, Julia Little
Me2b Alliance Validation Testing Report: Consumer Perception Of Legal Policies In Digital Technology, Noreen Y. Whysel, Karina Alexanyan, Shaun Spaulting, Julia Little
Publications and Research
Our relationship with technology involves legal agreements that we either review or enter into when using a technology, namely privacy policies and terms of service or terms of use (“TOS/TOU”). We initiated this research to understand if providing a formal rating of the legal policies (privacy policies and TOS/TOUs) would be valuable to consumers (or Me-s). From our early qualitative discussions, we noticed that people were unclear on whether these policies were legally binding contracts or not. Thus, a secondary objective emerged to quantitatively explore whether people knew who these policies protected (if anyone), and if the policies were perceived …
Eclipse, Osgi, And The Java Model, Raffi Khatchadourian
Eclipse, Osgi, And The Java Model, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Abstract Syntax Trees (Asts) And The Visitor Pattern, Raffi Khatchadourian
Abstract Syntax Trees (Asts) And The Visitor Pattern, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Messiness: Automating Iot Data Streaming Spatial Analysis, Christopher White, Atilio Barreda Ii
Messiness: Automating Iot Data Streaming Spatial Analysis, Christopher White, Atilio Barreda Ii
Publications and Research
The spaces we live in go through many transformations over the course of a year, a month, or a day; My room has seen tremendous clutter and pristine order within the span of a few hours. My goal is to discover patterns within my space and formulate an understanding of the changes that occur. This insight will provide actionable direction for maintaining a cleaner environment, as well as provide some information about the optimal times for productivity and energy preservation.
Using a Raspberry Pi, I will set up automated image capture in a room in my home. These images will …
An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja
An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi 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 Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja
An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi 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 …
Shedding Light On Dark Patterns: A Case Study On Digital Harms, Noreen Y. Whysel
Shedding Light On Dark Patterns: A Case Study On Digital Harms, Noreen Y. Whysel
Publications and Research
You’ve been there before. You thought you could trust someone with a secret. You thought it would be safe, but found out later that they blabbed to everyone. Or maybe they didn’t share it, but the way they used it felt manipulative. You gave more than you got and it didn’t feel fair. But now that it’s out there, do you even have control anymore?
Ok. Now imagine that person was your supermarket. Or your bank. Or your boss.
As designers of digital spaces for consumer products and services, how often do we consider the relationship we have with our …
Automated Evolution Of Feature Logging Statement Levels Using Git Histories And Degree Of Interest, Yiming Tang, Allan Spektor, Raffi Khatchadourian, Mehdi Bagherzadeh
Automated Evolution Of Feature Logging Statement Levels Using Git Histories And Degree Of Interest, Yiming Tang, Allan Spektor, Raffi Khatchadourian, Mehdi Bagherzadeh
Publications and Research
Logging—used for system events and security breaches to more informational yet essential aspects of software features—is pervasive. Given the high transactionality of today’s software, logging effectiveness can be reduced by information overload. Log levels help alleviate this problem by correlating a priority to logs that can be later filtered. As software evolves, however, levels of logs documenting surrounding feature implementations may also require modification as features once deemed important may have decreased in urgency and vice-versa. We present an automated approach that assists developers in evolving levels of such (feature) logs. The approach, based on mining Git histories and manipulating …
Csci 40500/77100: Software Engineering, Raffi Khatchadourian
Csci 40500/77100: Software Engineering, Raffi Khatchadourian
Open Educational Resources
This course is intended to be an introductory survey on the fundamental concepts and principles that underlie current and emerging methods, tools, and techniques for the efficient engineering of high-quality software systems. This may include understanding and appreciating problems in large-scale software development such as functional analysis of information processing systems, system design concepts, timing estimates, documentation, and system testing.
Csci 40500/77100: Software Engineering, Raffi Khatchadourian
Csci 40500/77100: Software Engineering, Raffi Khatchadourian
Open Educational Resources
This course is intended to be an introductory survey on the fundamental concepts and principles that underlie current and emerging methods, tools, and techniques for the efficient engineering of high-quality software systems. This may include understanding and appreciating problems in large-scale software development such as functional analysis of information processing systems, system design concepts, timing estimates, documentation, and system testing.
Actor Concurrency Bugs: A Comprehensive Study On Symptoms, Root Causes, Api Usages, And Differences, Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi Khatchadourian
Actor Concurrency Bugs: A Comprehensive Study On Symptoms, Root Causes, Api Usages, And Differences, Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi 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, …
Inheritance Details In Scala, Raffi Khatchadourian
Inheritance Details In Scala, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, Anita Raja
An Empirical Study Of Refactorings And Technical Debt In Machine Learning Systems, Yiming Tang, Raffi 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 …
An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray
An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi 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 Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray
An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi 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 …
Devops: Lecture 1 - "Overview", Jeremy Andrews, Nyc Tech-In-Residence Corps
Devops: Lecture 1 - "Overview", Jeremy Andrews, Nyc Tech-In-Residence Corps
Open Educational Resources
Overview lecture for the "DevOps" course delivered at the City College of New York in Spring 2020 by Jeremy Andrews as part of the Tech-in-Residence Corps program.
Devops: Architecting Your Infrastructure (Syllabus), Jeremy Andrews, Nyc Tech-In-Residence Corps
Devops: Architecting Your Infrastructure (Syllabus), Jeremy Andrews, Nyc Tech-In-Residence Corps
Open Educational Resources
Syllabus for the "DevOps" course delivered at the City College of New York in Spring 2020 by Jeremy Andrews as part of the Tech-in-Residence Corps program.
Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh
Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi 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 …
Needfinding, Devorah Kletenik
Needfinding, Devorah Kletenik
Open Educational Resources
This activity guides students through the process needfinding to identify areas of need for their creation of a technology for the "public good." Students will conduct contextual inquiry to identify the needs of their target audience.
Personas, Scenarios And Storyboards, Devorah Kletenik
Personas, Scenarios And Storyboards, Devorah Kletenik
Open Educational Resources
This activity guides students towards the creation of personas, scenarios and storyboards for a product/website that they are creating.
Public Interest Technology: Coding For The Public Good, Devorah Kletenik
Public Interest Technology: Coding For The Public Good, Devorah Kletenik
Open Educational Resources
These slides are used to guide a discussion with students introducing them to the notion of public interest technology and coding for the public good. The lesson is intended to spark a discussion with students about different sorts of technology and their societal ramifications.
Accessibility: The Whys And The Hows, Devorah Kletenik
Accessibility: The Whys And The Hows, Devorah Kletenik
Open Educational Resources
This presentation introduces Computer Science students to the notion of accessibility: developing software for people with disabilities. This lesson provides a discussion of why accessibility is important (including the legal, societal and ethical benefits) as well as an overview of different types of impairments (visual, auditory, motor, neurological/cognitive) and how developers can make their software accessible to users with those disabilities. This lesson includes videos and links to readings and tutorials for students.
Coding For The Public Good: Front-End Website Design And Development, Devorah Kletenik
Coding For The Public Good: Front-End Website Design And Development, Devorah Kletenik
Open Educational Resources
This activity helps student design and develop a front-end of a website, from wireframes through HTML/CSS/Javascript. It includes design questions for students, including the invocation of Ben Schneiderman's eight golden rules for interface design.
Note: this activity assumes prior knowledge of web development. Since this activity is designed for an HCI course, with a focus on interface design, students are not expected to create a back-end for it. This activity can obviously be modified for a full-stack experience.
Accessibility Evaluation, Devorah Kletenik
Accessibility Evaluation, Devorah Kletenik
Open Educational Resources
This activity guides students through the evaluation of a website that they have created to see if it is accessible for users with disabilities. Students will simulate a number of different disabilities (e.g. visual impairments, color blindness, auditory impairments, motor impairments) to see if their website is accessible; they will also use automated W3 and WAVE tools to evaluate their sites. Students will consider the needs of users with disabilities by creating a persona and scenario of a user with disabilities interacting with their site. Finally, students will write up recommendations to change their site and implement the changes.
V-Slam And Sensor Fusion For Ground Robots, Ejup Hoxha
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 …
Going Big: A Large-Scale Study On What Big Data Developers Ask, Mehdi Bagherzadeh, Raffi Khatchadourian
Going Big: A Large-Scale Study On What Big Data Developers Ask, Mehdi Bagherzadeh, Raffi Khatchadourian
Publications and Research
Software developers are increasingly required to write big data code. However, they find big data software development challenging. To help these developers it is necessary to understand big data topics that they are interested in and the difficulty of finding answers for questions in these topics. In this work, we conduct a large-scale study on Stackoverflow to understand the interest and difficulties of big data developers. To conduct the study, we develop a set of big data tags to extract big data posts from Stackoverflow; use topic modeling to group these posts into big data topics; group similar topics into …
Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Syed Ahmed
Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Syed Ahmed
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. Also, streams may not run all operations in parallel depending on particular collectors used in reductions. In …
Enhancing The Study Of Art History Utilizing Computational Thinking: Focus, Abstraction In Art (Modern), Douglas L. Moody, Sandra Cheng
Enhancing The Study Of Art History Utilizing Computational Thinking: Focus, Abstraction In Art (Modern), Douglas L. Moody, Sandra Cheng
Open Educational Resources
No abstract provided.