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

Software Engineering

Institution
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 91 - 120 of 435

Full-Text Articles in Programming Languages and Compilers

Code Generation Based On Inference And Controlled Natural Language Input, Howard R. Dittmer Apr 2023

Code Generation Based On Inference And Controlled Natural Language Input, Howard R. Dittmer

College of Computing and Digital Media Dissertations

Over time the level of abstraction embodied in programming languages has continued to grow. Paradoxically, most programming languages still require programmers to conform to the language's rigid constructs. These constructs have been implemented in the name of efficiency for the computer. However, the continual increase in computing power allows us to consider techniques not so limited. To this end, we have created CABERNET, a Controlled Natural Language (CNL) based approach to program creation. CABERNET allows programmers to use a simple outline-based syntax. This syntax enables increased programmer efficiency.

CNLs have previously been used to document requirements. We have taken this …


Game-Based Learning Activities And Assignments, Samuel Rivera, Siegwart Mayr Apr 2023

Game-Based Learning Activities And Assignments, Samuel Rivera, Siegwart Mayr

Campus Research Month

The Center for Innovation and Research in Computing (CIRC) is creating a web application that uses game-based learning to help students be engaged and collaborate, as an adventure-based quest.

In this research project, the activity module was created for this web application. This module contains assignment creation, completion, and grading. These assignments can be included in the quests and courses. The seamless connection between the activity module and the course module was possible with the Yii framework.


Designing An Equity-Centered Framework And Crosswalk For Integrated Elementary Computer Science Curriculum And Instruction, Carla Strickland, Andrea Ramírez-Salgado, Lauren Weisberg, Latoya Chandler, Jeanne Di Domenico, Elizabeth M. Lehman, Maya Israel Apr 2023

Designing An Equity-Centered Framework And Crosswalk For Integrated Elementary Computer Science Curriculum And Instruction, Carla Strickland, Andrea Ramírez-Salgado, Lauren Weisberg, Latoya Chandler, Jeanne Di Domenico, Elizabeth M. Lehman, Maya Israel

Journal of Computer Science Integration

As computer science (CS) education becomes more prevalent in K-12 instruction, it is critical for educators, researchers, and curriculum developers to identify culturally responsive and pedagogically inclusive approaches that can increase participation, access, and feelings of belonging for students from historically marginalized communities. In response, we developed an equity-centered curricular framework and illustrative crosswalk that synchronizes three distinct pedagogical approaches: culturally responsive pedagogy (CRP), Universal Design for Learning (UDL), and project-based learning (PBL). We describe the framework’s theoretical underpinnings and explain how this framework informed the development of an integrated elementary science+CS curricular unit and provide examples of its implementation. …


Chatgpt As Metamorphosis Designer For The Future Of Artificial Intelligence (Ai): A Conceptual Investigation, Amarjit Kumar Singh (Library Assistant), Dr. Pankaj Mathur (Deputy Librarian) Mar 2023

Chatgpt As Metamorphosis Designer For The Future Of Artificial Intelligence (Ai): A Conceptual Investigation, Amarjit Kumar Singh (Library Assistant), Dr. Pankaj Mathur (Deputy Librarian)

Library Philosophy and Practice (e-journal)

Abstract

Purpose: The purpose of this research paper is to explore ChatGPT’s potential as an innovative designer tool for the future development of artificial intelligence. Specifically, this conceptual investigation aims to analyze ChatGPT’s capabilities as a tool for designing and developing near about human intelligent systems for futuristic used and developed in the field of Artificial Intelligence (AI). Also with the helps of this paper, researchers are analyzed the strengths and weaknesses of ChatGPT as a tool, and identify possible areas for improvement in its development and implementation. This investigation focused on the various features and functions of ChatGPT that …


Multi-Modal Api Recommendation, Ivana Clairine Irsan, Ting Zhang, Ferdian Thung, Kisub Kim, David Lo Mar 2023

Multi-Modal Api Recommendation, Ivana Clairine Irsan, Ting Zhang, Ferdian Thung, Kisub Kim, David Lo

Research Collection School Of Computing and Information Systems

Too many options can be a problem, which is the case for Application Programming Interfaces (APIs). As there are many such APIs, with many more being introduced periodically, it raises the problem of choosing which API to be recommended. Furthermore, numerous APIs are commonly used together with other complementary third-party APIs. It can be challenging for developers to understand how to use each API and to remember all the complementary APIs for the API they want to use. Therefore, an accurate API recommendation approach can improve developers' efficiency in implementing certain functionality. Several approaches have been developed to automatically recommend …


Large-Scale Identification And Analysis Of Factors Impacting Simple Bug Resolution Times In Open Source Software Repositories, Elia Eiroa-Lledo, Rao Hamza Ali, Gabriela Pinto, Jillian Anderson, Erik Linstead Feb 2023

Large-Scale Identification And Analysis Of Factors Impacting Simple Bug Resolution Times In Open Source Software Repositories, Elia Eiroa-Lledo, Rao Hamza Ali, Gabriela Pinto, Jillian Anderson, Erik Linstead

Engineering Faculty Articles and Research

One of the most prominent issues the ever-growing open-source software community faces is the abundance of buggy code. Well-established version control systems and repository hosting services such as GitHub and Maven provide a checks-and-balances structure to minimize the amount of buggy code introduced. Although these platforms are effective in mitigating the problem, it still remains. To further the efforts toward a more effective and quicker response to bugs, we must understand the factors that affect the time it takes to fix one. We apply a custom traversal algorithm to commits made for open source repositories to determine when “simple stupid …


Comparing Boys’ And Girls’ Attitudes Toward Computer Science, Danielle Scott, Amiee Zou, Sharin Rawhiya Jacob, Debra Richardson, Mark Warschauer Feb 2023

Comparing Boys’ And Girls’ Attitudes Toward Computer Science, Danielle Scott, Amiee Zou, Sharin Rawhiya Jacob, Debra Richardson, Mark Warschauer

Journal of Computer Science Integration

Women are severely underrepresented in computer science (CS) degrees and careers. While student interest is a key predictor of success, little is known about how elementary students from underserved groups, such as girls, develop their interest in CS. To address this issue, we examined the differences in attitudes between upper elementary girls and boys towards CS after participating in a yearlong, inquiry-based CS curriculum designed for diverse learners. Pre-and-post surveys on students’ attitudes towards CS (n = 108) were delivered before and after student participation in the curriculum. Results from the survey showed only two demonstrated significant differences between boys …


Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi Khatchadourian Jan 2023

Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi Khatchadourian

Open Educational Resources

No abstract provided.


Introduction, Raffi Khatchadourian Jan 2023

Introduction, Raffi Khatchadourian

Open Educational Resources

No abstract provided.


Working With Control-Flow Graphs, Raffi Khatchadourian Jan 2023

Working With Control-Flow Graphs, Raffi Khatchadourian

Open Educational Resources

No abstract provided.


Reengineering And Refactoring, Raffi Khatchadourian Jan 2023

Reengineering And Refactoring, Raffi Khatchadourian

Open Educational Resources

No abstract provided.


Building An Ast Eclipse Plug-In, Raffi Khatchadourian Jan 2023

Building An Ast Eclipse Plug-In, Raffi 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:

  1. Project name.
  2. Project URL.
  3. Project description.
  4. The number of classes in the project.
  5. The number of user-defined methods in the project.
  6. For each class, the number of method calls.
  7. Statistics about the method calls:
    1. The total number of method calls …


Wala Quick Start, Raffi Khatchadourian Jan 2023

Wala Quick Start, Raffi Khatchadourian

Open Educational Resources

Setting up and trying the TJ Watson Library for Analysis (WALA).


Comparative Analysis Of Fullstack Development Technologies: Frontend, Backend And Database, Qozeem Odeniran Jan 2023

Comparative Analysis Of Fullstack Development Technologies: Frontend, Backend And Database, Qozeem Odeniran

College of Graduate Studies: Theses & Dissertations

Accessing websites with various devices has brought changes in the field of application development. The choice of cross-platform, reusable frameworks is very crucial in this era. This thesis embarks in the evaluation of front-end, back-end, and database technologies to address the status quo. Study-a explores front-end development, focusing on angular.js and react.js. Using these frameworks, comparative web applications were created and evaluated locally. Important insights were obtained through benchmark tests, lighthouse metrics, and architectural evaluations. React.js proves to be a performance leader in spite of the possible influence of a virtual machine, opening the door for additional research. Study b …


Improving Developers' Understanding Of Regex Denial Of Service Tools Through Anti-Patterns And Fix Strategies, Sk Adnan Hassan, Zainab Aamir, Dongyoon Lee, James C. Davis, Francisco Servant Jan 2023

Improving Developers' Understanding Of Regex Denial Of Service Tools Through Anti-Patterns And Fix Strategies, Sk Adnan Hassan, Zainab Aamir, Dongyoon Lee, James C. Davis, Francisco Servant

Department of Electrical and Computer Engineering Faculty Publications

Regular expressions are used for diverse purposes, including input validation and firewalls. Unfortunately, they can also lead to a security vulnerability called ReDoS (Regular Expression Denial of Service), caused by a super-linear worst-case execution time during regex matching. Due to the severity and prevalence of ReDoS, past work proposed automatic tools to detect and fix regexes. Although these tools were evaluated in automatic experiments, their usability has not yet been studied; usability has not been a focus of prior work. Our insight is that the usability of existing tools to detect and fix regexes will improve if we complement them …


Examining Early Elementary Computer Science Identity Repertoires Within A Curriculum: Implications For Epistemologically Pluralistic Identities, Eleanor Richard, Shakhnoza Kayumova Dec 2022

Examining Early Elementary Computer Science Identity Repertoires Within A Curriculum: Implications For Epistemologically Pluralistic Identities, Eleanor Richard, Shakhnoza Kayumova

Journal of Computer Science Integration

As computer science (CS) enters an increasing number of elementary classrooms, researchers must investigate the representations of what kinds of people are presented as doing computer science within CS curricula. In this paper, we explore a widely used, freely accessible, web-based, early elementary CS curriculum to examine the kinds of identity repertoires (behaviors, actions, skills, and socioemotional norms) that are promoted as representative of being/becoming a CS person. More specifically, we draw on identity studies and employ critical discourse analysis to examine how the kinds of norms and repertoires of CS practice made available in the curricular materials might construct …


Integrating Computing Into Preservice Teacher Preparation Programs Across The Core: Language, Mathematics, And Science, Lauren E. Margulieux, Patrick Enderle, Pier Junor Clarke, Natalie King, Caroline Sullivan, Michelle Zoss, Joyce Many Nov 2022

Integrating Computing Into Preservice Teacher Preparation Programs Across The Core: Language, Mathematics, And Science, Lauren E. Margulieux, Patrick Enderle, Pier Junor Clarke, Natalie King, Caroline Sullivan, Michelle Zoss, Joyce Many

Journal of Computer Science Integration

This paper describes the beginning of a design-based research project for integrating computing activities in preservice teacher programs throughout a middle and secondary education department. Computing integration activities use computing tools, like programming, to support learning in non-computing disciplines. The paper begins with the motivation for integrating computing that encouraged widespread buy-in, design goals, and design parameters. The primary motivating factor for this work was preparing teachers to use technology to support learning in their classrooms. Involving computing education faculty in the preparation enabled the activities to include computer science and spread computational literacy. The paper also describes the process …


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 …


Large-Scale Analysis Of Non-Termination Bugs In Real-World Oss Projects, Xiuhan Shi, Xiaofei Xie, Yi Li, Yao Zhang, Sen Chen, Xiaohong Li Nov 2022

Large-Scale Analysis Of Non-Termination Bugs In Real-World Oss Projects, Xiuhan Shi, Xiaofei Xie, Yi Li, Yao Zhang, Sen Chen, Xiaohong Li

Research Collection School Of Computing and Information Systems

Termination is a crucial program property. Non-termination bugs can be subtle to detect and may remain hidden for long before they take effect. Many real-world programs still suffer from vast consequences (e.g., no response) caused by non-termination bugs. As a classic problem, termination proving has been studied for many years. Many termination checking tools and techniques have been developed and demonstrated effectiveness on existing wellestablished benchmarks. However, the capability of these tools in finding practical non-termination bugs has yet to be tested on real-world projects. To fill in this gap, in this paper, we conducted the first large-scale empirical study …


Codematcher: A Tool For Large-Scale Code Search Based On Query Semantics Matching, Chao Liu, Xuanlin Bao, Xin Xia, Meng Yan, David Lo, Ting Zhang Nov 2022

Codematcher: A Tool For Large-Scale Code Search Based On Query Semantics Matching, Chao Liu, Xuanlin Bao, Xin Xia, Meng Yan, David Lo, Ting Zhang

Research Collection School Of Computing and Information Systems

Due to the emergence of large-scale codebases, such as GitHub and Gitee, searching and reusing existing code can help developers substantially improve software development productivity. Over the years, many code search tools have been developed. Early tools leveraged the information retrieval (IR) technique to perform an efficient code search for a frequently changed large-scale codebase. However, the search accuracy was low due to the semantic mismatch between query and code. In the recent years, many tools leveraged Deep Learning (DL) technique to address this issue. But the DL-based tools are slow and the search accuracy is unstable.In this paper, we …


Rasm: Compiling Racket To Webassembly, Grant Matejka Jun 2022

Rasm: Compiling Racket To Webassembly, Grant Matejka

Master's Theses

WebAssembly is an instruction set designed for a stack based virtual machine, with an emphasis on speed, portability and security. As the use cases for WebAssembly grow, so does the desire to target WebAssembly in compilation. In this thesis we present Rasm, a Racket to WebAssembly compiler that compiles a select subset of the top forms of the Racket programming language to WebAssembly. We also present our early findings in our work towards adding a WebAssembly backend to the Chez Scheme compiler that is the backend of Racket. We address initial concerns and roadblocks in adopting a WebAssembly backend and …


Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi Khatchadourian, Mehdi Bagherzadeh, Anita Raja May 2022

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 …


Challenges In Migrating Imperative Deep Learning Programs To Graph Execution: An Empirical Study, Tatiana Castro Vélez, Raffi Khatchadourian, Mehdi Bagherzadeh, Anita Raja May 2022

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

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 …


A Study Of Software Development Methodologies, Kendra Risener May 2022

A Study Of Software Development Methodologies, Kendra Risener

Computer Science and Computer Engineering Undergraduate Honors Theses

Software development methodologies are often overlooked by software engineers as aspects of development that are handled by project managers alone. However, if every member of the team better understood the development methodology being used, it increases the likelihood that the method is properly implemented and ultimately used to complete the project more efficiently. Thus, this paper seeks to explore six common methodologies: the Waterfall Model, the Spiral Model, Agile, Scrum, Kanban, and Extreme Programming. These are discussed in two main sections in the paper. In the first section, the frameworks are isolated and viewed by themselves. The histories, unique features, …


Graphcode2vec: Generic Code Embedding Via Lexical And Program Dependence Analyses, Wei Ma, Mengjie Zhao, Ezekiel Soremekun, Qiang Hu, Jie M. Zhang, Mike Papadakis, Maxime Cordy, Xiaofei Xie, Yves Le Traon May 2022

Graphcode2vec: Generic Code Embedding Via Lexical And Program Dependence Analyses, Wei Ma, Mengjie Zhao, Ezekiel Soremekun, Qiang Hu, Jie M. Zhang, Mike Papadakis, Maxime Cordy, Xiaofei Xie, Yves Le Traon

Research Collection School Of Computing and Information Systems

Code embedding is a keystone in the application of machine learning on several Software Engineering (SE) tasks. To effectively support a plethora of SE tasks, the embedding needs to capture program syntax and semantics in a way that is generic. To this end, we propose the first self-supervised pre-training approach (called Graphcode2vec) which produces task-agnostic embedding of lexical and program dependence features. Graphcode2vec achieves this via a synergistic combination of code analysis and Graph Neural Networks. Graphcode2vec is generic, it allows pre-training, and it is applicable to several SE downstream tasks. We evaluate the effectiveness of Graphcode2vec on four (4) …


Learning Program Semantics With Code Representations: An Empirical Study, Jing Kai Siow, Shangqing Liu, Xiaofei Xie, Guozhu Meng, Yang Liu Mar 2022

Learning Program Semantics With Code Representations: An Empirical Study, Jing Kai Siow, Shangqing Liu, Xiaofei Xie, Guozhu Meng, Yang Liu

Research Collection School Of Computing and Information Systems

Program semantics learning is the core and fundamental for various code intelligent tasks e.g., vulnerability detection, clone detection. A considerable amount of existing works propose diverse approaches to learn the program semantics for different tasks and these works have achieved state-of-the-art performance. However, currently, a comprehensive and systematic study on evaluating different program representation techniques across diverse tasks is still missed. From this starting point, in this paper, we conduct an empirical study to evaluate different program representation techniques. Specifically, we categorize current mainstream code representation techniques into four categories i.e., Feature-based, Sequence-based, Tree-based, and Graph-based program representation technique and …


Jscsp: A Novel Policy-Based Xss Defense Mechanism For Browsers, Guangquan Xu, Xiaofei Xie, Shuhan Huang, Jun Zhang, Lei Pan, Wei Lou, Kaitai Liang Mar 2022

Jscsp: A Novel Policy-Based Xss Defense Mechanism For Browsers, Guangquan Xu, Xiaofei Xie, Shuhan Huang, Jun Zhang, Lei Pan, Wei Lou, Kaitai Liang

Research Collection School Of Computing and Information Systems

To mitigate cross-site scripting attacks (XSS), the W3C group recommends web service providers to employ a computer security standard called Content Security Policy (CSP). However, less than 3.7 percent of real-world websites are equipped with CSP according to Google’s survey. The low scalability of CSP is incurred by the difficulty of deployment and non-compatibility for state-of-art browsers. To explore the scalability of CSP, in this article, we propose JavaScript based CSP (JSCSP), which is able to support most of real-world browsers but also to generate security policies automatically. Specifically, JSCSP offers a novel self-defined security policy which enforces essential confinements …


The Effect Of Using The Gamification Strategy On Academic Achievement And Motivation Towards Learning Problem-Solving Skills In Computer And Information Technology Course Among Tenth Grade Female Students, Mazyunah Almutairi, Prof. Ahmad Almassaad Feb 2022

The Effect Of Using The Gamification Strategy On Academic Achievement And Motivation Towards Learning Problem-Solving Skills In Computer And Information Technology Course Among Tenth Grade Female Students, Mazyunah Almutairi, Prof. Ahmad Almassaad

International Journal for Research in Education

Abstract

This study aimed to identify the effect of using the gamification strategy on academic achievement and motivation towards learning problem-solving skills in computer and information technology course. A quasi-experimental method was adopted. The study population included tenth-grade female students in Al-Badi’ah schools in Riyadh. The sample consisted of 54 students divided into two equal groups: control group and experimental group. The study tools comprised an achievement test and the motivation scale. The results showed that there were statistically significant differences between the two groups in the academic achievement test in favor of the experimental group, with a large effect …


Broken External Links On Stack Overflow, Jiakun Liu, Xin Xia, David Lo, Haoxiang Zhang, Ying Zou, Ahmed E. Hassan, Shanping Li Feb 2022

Broken External Links On Stack Overflow, Jiakun Liu, Xin Xia, David Lo, Haoxiang Zhang, Ying Zou, Ahmed E. Hassan, Shanping Li

Research Collection School Of Computing and Information Systems

Stack Overflow hosts valuable programming-related knowledge with 11,926,354 links that reference to the third-party websites. The links that reference to the resources hosted outside the Stack Overflow websites extend the Stack Overflow knowledge base substantially. However, with the rapid development of programming-related knowledge, many resources hosted on the Internet are not available anymore. Based on our analysis of the Stack Overflow data that was released on Jun. 2, 2019, 14.2 percent of the links on Stack Overflow are broken links. The broken links on Stack Overflow can obstruct viewers from obtaining desired programming-related knowledge, and potentially damage the reputation of …