2,847 papers · page 19 of 143
Jesse Chen, Dharun Anandayuvaraj, James C. Davis, Sazzadur Rahaman
Cybersecurity concerns of Internet of Things (IoT) devices and infrastructure are growing each year. In response, organizations worldwide have published IoT security guidelines to protect their citizens and customers by providing recommendations on the development and operation o…
Simin Chen, Xiaoning Feng, Xiaohong Han, Cong Liu, Wei Yang
In recent times, a plethora of Large Code Generation Models (LCGMs) have been proposed, showcasing significant potential in assisting developers with complex programming tasks. Within the surge of LCGM proposals, a critical aspect of code generation research involves effectively …
Yuntianyi Chen, Yuqi Huai, Shilong Li, Changnam Hong, Joshua Garcia
The optimization of a system’s configuration options is crucial for determining its performance and functionality, particularly in the case of autonomous driving software (ADS) systems because they possess a multitude of such options. Research efforts in the domain of ADS have pr…
Jinyin Chen, Chengyu Jia, Yunjie Yan, Jie Ge, Haibin Zheng, Yao Cheng
Deep learning (DL) is a critical tool for real-world applications, and comprehensive testing of DL models is vital to ensure their quality before deployment. However, recent studies have shown that even subtle deviations in DL operators can result in catastrophic consequences, un…
Xiangping Chen, Furen Xu, Yuan Huang, Neng Zhang, Zibin Zheng
Just-in-time defect prediction (JIT-DP) is used to predict the defect-proneness of a commit and just-in-time defect localization (JIT-DL) is used to locate the exact buggy positions (defective lines) in a commit. Recently, various JIT-DP and JIT-DL techniques have been proposed, …
Sourav Deb, Kush Jain, Rijnard van Tonder, Claire Le Goues, Alex Groce
While mutation testing has been a topic of academic interest for decades, it is only recently that “real-world” developers, including industry leaders such as Google and Meta, have adopted mutation testing. We propose a new approach to the development of mutation testing tools, a…
Giovanni Denaro, Noura El Moussa, Rahim Heydarov, Francesco Lomio, Mauro Pezzè, Ketai Qiu
Predicting failures in production environments allows service providers to activate countermeasures that prevent harming the users of the applications. The most successful approaches predict failures from error states that the current approaches identify from anomalies in time se…
Malinda Dilhara, Abhiram Bellur, Timofey Bryksin, Danny Dig
Software developers often repeat the same code changes within a project or across different projects. These repetitive changes are known as “code change patterns” (CPATs). Automating CPATs is crucial to expedite the software development process. While current Transformation by Ex…
Shihan Dou, Yueming Wu, Haoxiang Jia, Yuhao Zhou, Yan Liu, Yang Liu
With the development of the open source community, the code is often copied, spread, and evolved in multiple software systems, which brings uncertainty and risk to the software system (e.g., bug propagation and copyright infringement). Therefore, it is important to conduct code c…
Georgios-Petros Drosos, Thodoris Sotiropoulos, Diomidis Spinellis, Dimitris Mitropoulos
Modern programming languages promote software reuse via package managers that facilitate the integration of inter-dependent software libraries. Software reuse comes with the challenge of dependency bloat , which refers to unneeded and excessive code incorporated into a project th…
Hai Duong, Dong Xu, ThanhVu Nguyen, Matthew B. Dwyer
Deep Neural Networks (DNN) have emerged as an effective approach to tackling real-world problems. However, like human-written software, DNNs are susceptible to bugs and attacks. This has generated significant interest in developing effective and scalable DNN verification techniqu…
Madeline Endres, Sarah Fakhoury, Saikat Chakraborty, Shuvendu K. Lahiri
Informal natural language that describes code functionality, such as code comments or function documentation, may contain substantial information about a program’s intent. However, there is typically no guarantee that a program’s implementation and natural language documentation …
Haeun Eom, Dohee Kim, Sori Lim, Hyungjoon Koo, Sungjae Hwang
Decompilation is a process of converting a low-level machine code snippet back into a high-level programming language such as C. It serves as a basis to aid reverse engineers in comprehending the contextual semantics of the code. In this respect, commercial decompilers like Hex-R…
Farbod Farhour, Ahmad Abdellatif, Essam Mansour, Emad Shihab
Software chatbots are growing in popularity and have been increasingly used in software projects due to their benefits in saving time, cost, and effort. At the core of every chatbot is a Natural Language Understanding (NLU) component that enables chatbots to comprehend the users’…
Kai Gao, Weiwei Xu, Wenhao Yang, Minghui Zhou
A package’s source code repository records the package’s development history, which is critical for the use and risk monitoring of the package. However, a package release often misses its source code repository due to the separation of the package’s development platform from its …
Jingzhi Gong, Tao Chen
Learning and predicting the performance of given software configurations are of high importance to many software engineering activities. While configurable software systems will almost certainly face diverse running environments (e.g., version, hardware, and workload), current wo…
Sabaat Haroon, Chris Brown, Muhammad Ali Gulzar
SQL is the most commonly used front-end language for data-intensive scalable computing (DISC) applications due to its broad presence in new and legacy workflows and shallow learning curve. However, DISC-backed SQL introduces several layers of abstraction that significantly reduce…
Md. Mahadi Hassan, John Salvador, Shubhra Kanti Karmaker Santu, Akond Rahman
In infrastructure as code (IaC), state reconciliation is the process of querying and comparing the infrastructure state prior to changing the infrastructure. As state reconciliation is pivotal to manage IaC-based computing infrastructure at scale, defects related to state reconci…
Weigang He, Peng Di, Mengli Ming, Chengyu Zhang, Ting Su, Shijie Li, Yulei Sui
Static analyzers are playing crucial roles in helping find programming mistakes and security vulnerabilities. The correctness of their analysis results is crucial for the usability in practice. Otherwise, the potential defects in these analyzers (e.g., implementation errors, impr…
Yibo He, Jiaming Huang, Hao Yu, Tao Xie
Unit testing is widely recognized as an essential aspect of the software development process. Generating high-quality assertions automatically is one of the most important and challenging problems in automatic unit test generation. To generate high-quality assertions, deep-learni…