English
Related papers

Related papers: JSClassFinder: A Tool to Detect Class-like Structu…

200 papers

Object-oriented Application Programing Interfaces (APIs) support software reuse by providing pre-implemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise,…

Software Engineering · Computer Science 2016-06-03 Anas Shatnawi , Abdelhak Seriai , Houari Sahraoui , Zakarea Al-Shara

Performance analysis has always been an afterthought during the application development process, focusing on application correctness first. The learning curve of the existing static and dynamic analysis tools are steep, which requires…

Machine Learning · Computer Science 2021-04-23 Nathan Pinnow , Tarek Ramadan , Tanzima Z. Islam , Chase Phelps , Jayaraman J. Thiagarajan

When students write programs, their program structure provides insight into their learning process. However, analyzing program structure by hand is time-consuming, and teachers need better tools for computer-assisted exploration of student…

Computers and Society · Computer Science 2021-01-26 Will Crichton , Georgia Gabriela Sampaio , Pat Hanrahan

With one of the largest available collection of reusable packages, the JavaScript runtime environment Node.js is one of the most popular programming application. With recent work showing evidence that known vulnerabilities are prevalent in…

Software undergoes constant changes to support new requirements, address bugs, enhance performance, and ensure maintainability. Thus, developers spend a great portion of their workday trying to understand and review the code changes of…

Software Engineering · Computer Science 2024-08-26 Pouria Alikhanifard , Nikolaos Tsantalis

As researchers and practitioners apply Machine Learning to increasingly more software engineering problems, the approaches they use become more sophisticated. A lot of modern approaches utilize internal code structure in the form of an…

Software Engineering · Computer Science 2022-06-20 Ilya Utkin , Egor Spirin , Egor Bogomolov , Timofey Bryksin

The drastic increase of JavaScript exploitation attacks has led to a strong interest in developing techniques to enable malicious JavaScript analysis. Existing analysis tech- niques fall into two general categories: static analysis and…

Cryptography and Security · Computer Science 2017-01-30 Xunchao Hu , Yao Cheng , Yue Duan , Andrew Henderson , Heng Yin

Scene text retrieval aims to localize and search all text instances from an image gallery, which are the same or similar to a given query text. Such a task is usually realized by matching a query text to the recognized words, outputted by…

Computer Vision and Pattern Recognition · Computer Science 2021-04-06 Hao Wang , Xiang Bai , Mingkun Yang , Shenggao Zhu , Jing Wang , Wenyu Liu

Widespread reuse of open-source code in smart contract development boosts programming efficiency but significantly amplifies bug propagation across contracts, while dedicated methods for detecting similar smart contract functions remain…

Software Engineering · Computer Science 2025-09-12 Zhenguang Liu , Lixun Ma , Zhongzheng Mu , Chengkun Wei , Xiaojun Xu , Yingying Jiao , Kui Ren

We design a family of program analyses for JavaScript that make no approximation in matching calls with returns, exceptions with handlers, and breaks with labels. We do so by starting from an established reduction semantics for JavaScript…

Programming Languages · Computer Science 2011-12-21 David Van Horn , Matthew Might

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

Programmers often search for usage examples for API methods. A tool that could generate realistic, idiomatic, and contextual usage examples for one or more APIs would be immensely beneficial to developers. Such a tool would relieve the need…

Software Engineering · Computer Science 2023-12-27 Manish Shetty , Koushik Sen , Ion Stoica

A code change pattern represents a kind of recurrent modification in software. For instance, a known code change pattern consists of the change of the conditional expression of an if statement. Previous work has identified different change…

Software Engineering · Computer Science 2018-07-06 Matias Martinez , Laurence Duchien , Martin Monperrus

While constructing supervised learning models, we require labelled examples to build a corpus and train a machine learning model. However, most studies have built the labelled dataset manually, which in many occasions is a daunting task. To…

Software Engineering · Computer Science 2023-03-14 Najam Nazar , Norman Chen , Chun Yong Chong

Bespoke data structure operations are common in real-world C code. We identify one common subclass, monotonic data structure traversals (MDSTs), that iterate monotonically through the structure. For example, strlen iterates from start to…

Programming Languages · Computer Science 2025-05-27 Matthew Sotoudeh

Incorrect placement of methods within classes is a typical code smell called Feature Envy, which causes additional maintenance and cost during evolution. To remove this design flaw, several Move Method refactoring tools have been proposed.…

Software Engineering · Computer Science 2022-12-26 Di Cui , Siqi Wang , Yong Luo , Xingyu Li , Jie Dai , Lu Wang , Qingshan Li

Machine learning classification problems are widespread in bioinformatics, but the technical knowledge required to perform model training, optimization, and inference can prevent researchers from utilizing this technology. This article…

Machine Learning · Computer Science 2023-10-06 Aaron D. Mullen , Samuel E. Armstrong , Jeff Talbert , V. K. Cody Bumgardner

Source code reviews are manual, time-consuming, and expensive. Human involvement should be focused on analyzing the most relevant aspects of the program, such as logic and maintainability, rather than amending style, syntax, or formatting…

Machine Learning · Computer Science 2019-04-02 Vadim Markovtsev , Waren Long , Hugo Mougard , Konstantin Slavnov , Egor Bulychev

Traditional algorithms for detecting differences in source code focus on differences between lines. As such, little can be learned about abstract changes that occur over time within a project. Structural differencing on the program's…

Software Engineering · Computer Science 2013-07-09 Jason Dagit , Matthew Sottile

TensorFlow.js is a library for building and executing machine learning algorithms in JavaScript. TensorFlow.js models run in a web browser and in the Node.js environment. The library is part of the TensorFlow ecosystem, providing a set of…