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

Software Engineering

Institution
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 121 - 150 of 435

Full-Text Articles in Programming Languages and Compilers

Eclipse, Osgi, And The Java Model, Raffi Khatchadourian Jan 2022

Eclipse, Osgi, And The Java Model, Raffi Khatchadourian

Open Educational Resources

No abstract provided.


Abstract Syntax Trees (Asts) And The Visitor Pattern, Raffi Khatchadourian Jan 2022

Abstract Syntax Trees (Asts) And The Visitor Pattern, Raffi Khatchadourian

Open Educational Resources

No abstract provided.


Evaluating A Peer Assisted Learning Programme For Mature Access Foundation Students Undertaking Computer Programming At An Irish University, Nevan Bermingham, Frances Boylan, Barry J. Ryan Jan 2022

Evaluating A Peer Assisted Learning Programme For Mature Access Foundation Students Undertaking Computer Programming At An Irish University, Nevan Bermingham, Frances Boylan, Barry J. Ryan

Articles

Access Foundation Programmes are a widening-participation initiative designed to encourage engagement in higher education among under-represented groups. This includes socioeconomic and educational disadvantage. Mature students in particular enrolled on these programmes experience greater difficulties making the transition to tertiary education, especially when they opt to study disciplines traditionally considered difficult. Computer programming is perceived as a traditionally difficult subject with lower pass rates and progression rates typically than other subjects.

This paper describes the first of a three-cycle action research study examining the perceived effects of a structured Peer Assisted Learning (PAL) Programme for mature students enrolled on a computer …


Exploiting Input Sanitization For Regex Denial Of Service, Efe Barlas, Xin Du, James C. Davis Jan 2022

Exploiting Input Sanitization For Regex Denial Of Service, Efe Barlas, Xin Du, James C. Davis

Department of Electrical and Computer Engineering Faculty Publications

Web services use server-side input sanitization to guard against harmful input. Some web services publish their sanitization logic to make their client interface more usable, e.g., allowing clients to debug invalid requests locally. However, this usability practice poses a security risk. Specifically, services may share the regexes they use to sanitize input strings — and regex-based denial of service (ReDoS) is an emerging threat. Although prominent service outages caused by ReDoS have spurred interest in this topic, we know little about the degree to which live web services are vulnerable to ReDoS.

In this paper, we conduct the first black-box …


Codematcher: Searching Code Based On Sequential Semantics Of Important Query Words, Chao Liu, Xin Xia, David Lo, Zhiwei Liu, Ahmed E. Hassan, Shanping Li Jan 2022

Codematcher: Searching Code Based On Sequential Semantics Of Important Query Words, Chao Liu, Xin Xia, David Lo, Zhiwei Liu, Ahmed E. Hassan, Shanping Li

Research Collection School Of Computing and Information Systems

To accelerate software development, developers frequently search and reuse existing code snippets from a large-scale codebase, e.g., GitHub. Over the years, researchers proposed many information retrieval (IR)-based models for code search, but they fail to connect the semantic gap between query and code. An early successful deep learning (DL)-based model DeepCS solved this issue by learning the relationship between pairs of code methods and corresponding natural language descriptions. Two major advantages of DeepCS are the capability of understanding irrelevant/noisy keywords and capturing sequential relationships between words in query and code. In this article, we proposed an IR-based model CodeMatcher that …


Just-In-Time Defect Prediction On Javascript Projects: A Replication Study, Chao Ni, Xin Xia, David Lo, Xiaohu Yang, Ahmed E. Hassan Jan 2022

Just-In-Time Defect Prediction On Javascript Projects: A Replication Study, Chao Ni, Xin Xia, David Lo, Xiaohu Yang, Ahmed E. Hassan

Research Collection School Of Computing and Information Systems

Change-level defect prediction is widely referred to as just-in-time (JIT) defect prediction since it identifies a defect-inducing change at the check-in time, and researchers have proposed many approaches based on the language-independent change-level features. These approaches can be divided into two types: supervised approaches and unsupervised approaches, and their effectiveness has been verified on Java or C++ projects. However, whether the language-independent change-level features can effectively identify the defects of JavaScript projects is still unknown. Additionally, many researches have confirmed that supervised approaches outperform unsupervised approaches on Java or C++ projects when considering inspection effort. However, whether supervised JIT defect …


Taming The Data In The Internet Of Vehicles, Shahab Tayeb Jan 2022

Taming The Data In The Internet Of Vehicles, Shahab Tayeb

Mineta Transportation Institute

As an emerging field, the Internet of Vehicles (IoV) has a myriad of security vulnerabilities that must be addressed to protect system integrity. To stay ahead of novel attacks, cybersecurity professionals are developing new software and systems using machine learning techniques. Neural network architectures improve such systems, including Intrusion Detection System (IDSs), by implementing anomaly detection, which differentiates benign data packets from malicious ones. For an IDS to best predict anomalies, the model is trained on data that is typically pre-processed through normalization and feature selection/reduction. These pre-processing techniques play an important role in training a neural network to optimize …


The Development Of Qmms: A Case Study For Reliable Online Quiz Maker And Management System, Mohamed Abdelmoneim Elshafey Dr., Tarek Said Ghoniemy Dr. Nov 2021

The Development Of Qmms: A Case Study For Reliable Online Quiz Maker And Management System, Mohamed Abdelmoneim Elshafey Dr., Tarek Said Ghoniemy Dr.

Future Computing and Informatics Journal

The e-learning and assessment systems became a dominant technology nowadays and distribute across the globe. With severe consequences of COVID19-like crises, the key importance of such technology appeared in which courses, quizzes and questionnaires have to be conducted remotely. Moreover, the use of Learning Management Systems (LMSs), such as blackboard, eCollege, and Moodle, has been sanctioned in all respects of education. This paper presents an open-source interactive Quiz Maker and Management System (QMMS) that suits the research, education (under-grad, grad, or post-grad), and industrial organizations to perform distant quizzes, training and questionnaires with an integration facility with other LMS tools …


From Community Search To Community Understanding: A Multimodal Community Query Engine, Zhao Li, Pengcheng Zou, Xia Chen, Shichang Hu, Peng Zhang, Yumou Zhou, Bingsheng He, Yuchen Li, Xing Tang Nov 2021

From Community Search To Community Understanding: A Multimodal Community Query Engine, Zhao Li, Pengcheng Zou, Xia Chen, Shichang Hu, Peng Zhang, Yumou Zhou, Bingsheng He, Yuchen Li, Xing Tang

Research Collection School Of Computing and Information Systems

In this demo, we present an online multi-modal community query engine (MQE1 ) on Alibaba’s billion-scale heterogeneous network. MQE has two distinct features in comparison with existing community query engines. Firstly, MQE supports multimodal community search on heterogeneous graphs with keyword and image queries. Secondly, to facilitate community understanding in real business scenarios, MQE generates natural language descriptions for the retrieved community in combination with other useful demographic information. The distinct features of MQE benefit many downstream applications in Alibaba’s e-commerce platform like recommendation. Our experiments confirm the effectiveness and efficiency of MQE on graphs with billions of edges.


Preparing School Leaders To Advance Equity In Computer Science Education, Julie Flapan, Jean J. Ryoo, Roxana Hadad, Joel Knudson Oct 2021

Preparing School Leaders To Advance Equity In Computer Science Education, Julie Flapan, Jean J. Ryoo, Roxana Hadad, Joel Knudson

Journal of Computer Science Integration

Background and Context: Most large-scale statewide initiatives of the Computer Science for All (CS for All) movement have focused on the classroom level. Critical questions remain about building school and district leadership capacity to support teachers while implementing equitable computer science education that is scalable and sustainable.

Objective: This statewide research-practice partnership, involving university researchers and school leaders from 14 local education agencies (LEA) from district and county offices, addresses the following research question: What do administrators identify as most helpful for understanding issues related to equitable computer science implementation when engaging with a guide and workshop we …


Teachers’ Engagement And Self-Efficacy In A Pk–12 Computer Science Teacher Virtual Community Of Practice, Robert Schwarzhaupt, Feng Liu, Joseph Wilson, Fanny Lee, Melissa Rasberry Sep 2021

Teachers’ Engagement And Self-Efficacy In A Pk–12 Computer Science Teacher Virtual Community Of Practice, Robert Schwarzhaupt, Feng Liu, Joseph Wilson, Fanny Lee, Melissa Rasberry

Journal of Computer Science Integration

Prekindergarten to 12th-grade teachers of computer science (CS) face many challenges, including isolation, limited CS professional development resources, and low levels of CS teaching self-efficacy that could be mitigated through communities of practice (CoPs). This study used survey data from 420 PK–12 CS teacher members of a virtual CoP, CS for All Teachers, to examine the needs of these teachers and how CS teaching self-efficacy, community engagement, and sharing behaviors vary by teachers’ instructional experiences and school levels taught. Results show that CS teachers primarily join the CoP to gain high-quality pedagogical, assessment, and instructional resources. The study also found …


Injecting Descriptive Meta-Information Into Pre-Trained Language Models With Hypernetworks, Wenying Duan, Xiaoxi He, Zimu Zhou, Hong Rao, Lothar Thiele Sep 2021

Injecting Descriptive Meta-Information Into Pre-Trained Language Models With Hypernetworks, Wenying Duan, Xiaoxi He, Zimu Zhou, Hong Rao, Lothar Thiele

Research Collection School Of Computing and Information Systems

Pre-trained language models have been widely adopted as backbones in various natural language processing tasks. However, existing pre-trained language models ignore the descriptive meta-information in the text such as the distinction between the title and the mainbody, leading to over-weighted attention to insignificant text. In this paper, we propose a hypernetwork-based architecture to model the descriptive meta-information and integrate it into pre-trained language models. Evaluations on three natural language processing tasks show that our method notably improves the performance of pre-trained language models and achieves the state-of-the-art results on keyphrase extraction.


Towards A Large-Scale Intelligent Mobile-Argumentation And Discovering Arguments, Controversial Topics And Topic-Oriented Focal Sets In Cyber-Argumentation, Najla Althuniyan Jul 2021

Towards A Large-Scale Intelligent Mobile-Argumentation And Discovering Arguments, Controversial Topics And Topic-Oriented Focal Sets In Cyber-Argumentation, Najla Althuniyan

Graduate Theses and Dissertations

User-generated content (UGC) platforms host different forms of information, such as audio, video, pictures, and text. They have many online applications, such as social media, blogs, photo and video sharing, customer reviews, debate, and deliberation platforms. Usually, the content of these platforms is provided and consumed by users. Most of these platforms, mainly social media and blogs, are often used for online discussion. These platforms offer tools for users to share and express opinions. Commonly, people from different backgrounds and origins discuss opinions about various issues over the Internet. Furthermore, discussions among users contain substantial information from which knowledge about …


Incorrectness Logic For Graph Programs, Christopher M. Poskitt Jun 2021

Incorrectness Logic For Graph Programs, Christopher M. Poskitt

Research Collection School Of Computing and Information Systems

Program logics typically reason about an over-approximation of program behaviour to prove the absence of bugs. Recently, program logics have been proposed that instead prove the presence of bugs by means of under-approximate reasoning, which has the promise of better scalability. In this paper, we present an under-approximate program logic for a nondeterministic graph programming language, and show how it can be used to reason deductively about program incorrectness, whether defined by the presence of forbidden graph structure or by finitely failing executions. We prove this 'incorrectness logic' to be sound and complete, and speculate on some possible future applications …


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

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

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 …


Asynchronous Validations Using Programming Contracts In Java, Rahul Shukla May 2021

Asynchronous Validations Using Programming Contracts In Java, Rahul Shukla

Master's Projects

Design by Contract is a software development methodology based on the idea of having contracts between two software components. Programming contracts are invariants specified as pre-conditions and post-conditions. The client component must ensure that all the pre-conditions are satisfied before calling the server component. The server component must guarantee the post-conditions are met before the call returns to the client component. Current work in Design by Contract in Java focuses on writing shorthand contracts using annotations that are processed serially.

Modern software systems require a lot of business rules validations on complicated domain objects. Often, such validations are in the …


City Goers: An Exploration Into Creating Seemingly Intelligent A.I. Systems, Matthew Brooke May 2021

City Goers: An Exploration Into Creating Seemingly Intelligent A.I. Systems, Matthew Brooke

Computer Science and Computer Engineering Undergraduate Honors Theses

Artificial Intelligence systems have come a long way over the years. One particular application of A.I. is its incorporation in video games. A key goal of creating an A.I. system in a video game is to convey a level of intellect to the player. During playtests for Halo: Combat Evolved, the developers at Bungie noticed that players deemed tougher enemies as more intelligent than weaker ones, despite the fact that there were no differences in behavior in the enemies. The tougher enemies provided a greater illusion of intelligence to the players. Inspired by this, I set out to create a …


Sguard: Towards Fixing Vulnerable Smart Contracts Automatically, Tai D. Nguyen, Long H. Pham, Jun Sun May 2021

Sguard: Towards Fixing Vulnerable Smart Contracts Automatically, Tai D. Nguyen, Long H. Pham, Jun Sun

Research Collection School Of Computing and Information Systems

Smart contracts are distributed, self-enforcing programs executing on top of blockchain networks. They have the potential to revolutionize many industries such as financial institutes and supply chains. However, smart contracts are subject to code-based vulnerabilities, which casts a shadow on its applications. As smart contracts are unpatchable (due to the immutability of blockchain), it is essential that smart contracts are guaranteed to be free of vulnerabilities. Unfortunately, smart contract languages such as Solidity are Turing-complete, which implies that verifying them statically is infeasible. Thus, alternative approaches must be developed to provide the guarantee. In this work, we develop an approach …


Retrieval-Augmented Generation For Code Summarization Via Hybrid Gnn, Shangqing Liu, Yu Chen, Xiaofei Xie, Jingkai Siow, Yang Liu May 2021

Retrieval-Augmented Generation For Code Summarization Via Hybrid Gnn, Shangqing Liu, Yu Chen, Xiaofei Xie, Jingkai Siow, Yang Liu

Research Collection School Of Computing and Information Systems

Source code summarization aims to generate natural language summaries from structured code snippets for better understanding code functionalities. However, automatic code summarization is challenging due to the complexity of the source code and the language gap between the source code and natural language summaries. Most previous approaches either rely on retrieval-based (which can take advantage of similar examples seen from the retrieval database, but have low generalization performance) or generation-based methods (which have better generalization performance, but cannot take advantage of similar examples). This paper proposes a novel retrieval-augmented mechanism to combine the benefits of both worlds. Furthermore, to mitigate …


Student Academic Conference, Caitlin Brooks Apr 2021

Student Academic Conference, Caitlin Brooks

Student Academic Conference

No abstract provided.


Qlens: Visual Analytics Of Multi-Step Problem-Solving Behaviors For Improving Question Design, Meng Xia, Reshika P. Velumani, Yong Wang, Huamin Qu, Xiaojuan Ma Feb 2021

Qlens: Visual Analytics Of Multi-Step Problem-Solving Behaviors For Improving Question Design, Meng Xia, Reshika P. Velumani, Yong Wang, Huamin Qu, Xiaojuan Ma

Research Collection School Of Computing and Information Systems

With the rapid development of online education in recent years, there has been an increasing number of learning platforms that provide students with multi-step questions to cultivate their problem-solving skills. To guarantee the high quality of such learning materials, question designers need to inspect how students’ problem-solving processes unfold step by step to infer whether students’ problem-solving logic matches their design intent. They also need to compare the behaviors of different groups (e.g., students from different grades) to distribute questions to students with the right level of knowledge. The availability of fine-grained interaction data, such as mouse movement trajectories from …


Source Code Comment Classification Artificial Intelligence, Cole Sutyak Jan 2021

Source Code Comment Classification Artificial Intelligence, Cole Sutyak

Williams Honors College, Honors Research Projects

Source code comment classification is an important problem for future machine learning solutions. In particular, supervised machine learning solutions that have largely subjective data labels but are difficult to obtain the labels for. Machine learning problems are problems largely because of a lack of data. In machine learning solutions, it is better to have a large amount of mediocre data than it is to have a small amount of good data. While the mediocre data might not produce the best accuracy, it produces the best results because there is much more to learn from the problem.

In this project, data …


On The Generation, Structure, And Semantics Of Grammar Patterns In Source Code Identifiers, Christian D. Newman,, Reem S. Alsuhaibani, Michael J. Decker, Anthony Peruma, Dishant Kaushik, Mohamed Wiem Mkaouer, Emily Hill Dec 2020

On The Generation, Structure, And Semantics Of Grammar Patterns In Source Code Identifiers, Christian D. Newman,, Reem S. Alsuhaibani, Michael J. Decker, Anthony Peruma, Dishant Kaushik, Mohamed Wiem Mkaouer, Emily Hill

Articles

Identifier names are the atoms of program comprehension. Weak identifier names decrease developer productivity and degrade the performance of automated approaches that leverage identifier names in source code analysis; threatening many of the advantages which stand to be gained from advances in artificial intelligence and machine learning. Therefore, it is vital to support developers in naming and renaming identifiers. In this paper, we extend our prior work, which studies the primary method through which names evolve: rename refactorings. In our prior work, we contextualize rename changes by examining commit messages and other refactorings. In this extension, we further consider data …


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

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, …


Espade: An Efficient And Semantically Secure Shortest Path Discovery For Outsourced Location-Based Services, Bharath K. Samanthula, Divyadharshini Karthikeyan, Boxiang Dong, K. Anitha Kumari Oct 2020

Espade: An Efficient And Semantically Secure Shortest Path Discovery For Outsourced Location-Based Services, Bharath K. Samanthula, Divyadharshini Karthikeyan, Boxiang Dong, K. Anitha Kumari

Department of Computer Science Faculty Scholarship and Creative Works

With the rapid growth of smart devices and technological advancements in tracking geospatial data, the demand for Location-Based Services (LBS) is facing a constant rise in several domains, including military, healthcare and transportation. It is a natural step to migrate LBS to a cloud environment to achieve on-demand scalability and increased resiliency. Nonetheless, outsourcing sensitive location data to a third-party cloud provider raises a host of privacy concerns as the data owners have reduced visibility and control over the outsourced data. In this paper, we consider outsourced LBS where users want to retrieve map directions without disclosing their location information. …


Inheritance Details In Scala, Raffi Khatchadourian Sep 2020

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 Aug 2020

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 …


Novel Deep Learning Methods Combined With Static Analysis For Source Code Processing, Duy Quoc Nghi Bui Aug 2020

Novel Deep Learning Methods Combined With Static Analysis For Source Code Processing, Duy Quoc Nghi Bui

Dissertations and Theses Collection (Open Access)

It is desirable to combine machine learning and program analysis so that one can leverage the best of both to increase the performance of software analytics. On one side, machine learning can analyze the source code of thousands of well-written software projects that can uncover patterns that partially characterize software that is reliable, easy to read, and easy to maintain. On the other side, the program analysis can be used to define rigorous and unique rules that are only available in programming languages, which enrich the representation of source code and help the machine learning to capture the patterns better. …


Specialization: Do Your Job Well Helping Students Who Are Considering A Career In Programming Know How To Invest Their Time., Scott Pulley Jul 2020

Specialization: Do Your Job Well Helping Students Who Are Considering A Career In Programming Know How To Invest Their Time., Scott Pulley

Marriott Student Review

The article examines the effects of specialization on the hiring process for undergraduates studying programming whether in information systems or computer science.