Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJanuary 2025
CataEx: A multi-task export tool for the Google Earth Engine data catalog
Environmental Modelling & Software (ENMS), Volume 183, Issue Chttps://doi.org/10.1016/j.envsoft.2024.106227AbstractSatellite imagery is provided by different missions such as ASTER, MODIS, Sentinel, Landsat, IKONOS, GeoEye, SPOT, WorldView, Pléaides, or RapidEye. One of the major encumbrances is the digital volume that satellite imagery claims during download,...
Highlights- The Google Earth Engine significantly accelerates satellite image browsing from various sources, but not every user is familiar with JavaScript or Python to operate it.
- A set of six codes named CataEx provides users with basic coding ...
- research-articleFebruary 2025
A Design of Phrase Fill-in-Blank Problem in JavaScript-Based Web-Client Programming Learning Assistant System
CIIS '24: Proceedings of the 2024 7th International Conference on Computational Intelligence and Intelligent SystemsPages 146–150https://doi.org/10.1145/3708778.3708799JavaScript-based web-client programming including HTML, CSS, and JavaScript is taught to students in introductory web development courses in universities worldwide. To assist self-studies of novice students, we have developed the JavaScript-based web-...
- research-articleNovember 2024JUST ACCEPTED
Towards Better Comprehension of Breaking Changes in the NPM Ecosystem
ACM Transactions on Software Engineering and Methodology (TOSEM), Just Accepted https://doi.org/10.1145/3702991Code evolution is prevalent in software ecosystems, which can provide many benefits, such as new features, bug fixes, security patches, etc., while still introducing breaking changes that make downstream projects fail to work. Breaking changes cause a lot ...
The Functional, the Imperative, and the Sudoku: Getting Good, Bad, and Ugly to Get Along (Functional Pearl)
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue ICFPArticle No.: 242, Pages 177–202https://doi.org/10.1145/3674631Conventional wisdom suggests that the benefits of functional programming no longer apply in the presence of even a small amount of imperative code, as if the addition of imperative code effectively subtracts. And yet, as we show in this paper, combining ...
- research-articleDecember 2024
Ancient Brain: A JavaScript coding platform for education with 3D graphics, Websockets, AI and support for teachers
ICDTE '24: Proceedings of the 2024 8th International Conference on Digital Technology in Education (ICDTE)Pages 28–38https://doi.org/10.1145/3696230.3696234This paper introduces a JavaScript coding site called "Ancient Brain” (at ), which is designed for education with support for students and teachers. It has an extensive list of features to support coding almost anything that can ...
-
Linear Matching of JavaScript Regular Expressions
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue PLDIArticle No.: 201, Pages 1336–1360https://doi.org/10.1145/3656431Modern regex languages have strayed far from well-understood traditional regular expressions: they include features that fundamentally transform the matching problem. In exchange for these features, modern regex engines at times suffer from exponential ...
Reducing Static Analysis Unsoundness with Approximate Interpretation
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue PLDIArticle No.: 194, Pages 1165–1188https://doi.org/10.1145/3656424Static program analysis for JavaScript is more difficult than for many other programming languages. One of the main reasons is the presence of dynamic property accesses that read and write object properties via dynamically computed property names. To ...
Efficient Static Vulnerability Analysis for JavaScript with Multiversion Dependency Graphs
- Mafalda Ferreira,
- Miguel Monteiro,
- Tiago Brito,
- Miguel E. Coimbra,
- Nuno Santos,
- Limin Jia,
- José Fragoso Santos
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue PLDIArticle No.: 164, Pages 417–441https://doi.org/10.1145/3656394While static analysis tools that rely on Code Property Graphs (CPGs) to detect security vulnerabilities have proven effective, deciding how much information to include in the graphs remains a challenge. Including less information can lead to a more ...
- ArticleJanuary 2025
How Evolutionary Algorithms Consume Energy Depending on the Language and Its Level
AbstractMaking evolutionary algorithms greener implies tackling implementation issues from different angles. Practitioners need to focus on those that can be more easily leveraged, such as the choice of the language that is going to be used; high-level (...
- demonstrationJune 2024
Demo: FaST Compiler: Optimizing Web Front-end UI Building by Integrating Compilers and Visible Anchors
MOBISYS '24: Proceedings of the 22nd Annual International Conference on Mobile Systems, Applications and ServicesPages 606–607https://doi.org/10.1145/3643832.3663377Data binding in front-end user interface web development allows for the UI to update automatically in sync with data, removing complexity from development and simplifying programming. However, data binding often causes website performance to degrade due ...
- research-articleMay 2024
Dead or alive: Discovering server HTTP endpoints in both reachable and dead client-side code
Journal of Information Security and Applications (JISA), Volume 82, Issue Chttps://doi.org/10.1016/j.jisa.2024.103746AbstractDiscovering server HTTP endpoints – essentially, enumerating the server’s attack surface – is an important step of every black-box web security scanner. One of the main methods of doing that is inferring server endpoints from the client side, ...
- research-articleApril 2024
Efficient Auditing of Event-driven Web Applications
EuroSys '24: Proceedings of the Nineteenth European Conference on Computer SystemsPages 1208–1224https://doi.org/10.1145/3627703.3650089When a deployer of a web application puts that application on a server (on-prem or cloud), how can they be sure that the application is executing as intended? This paper studies how the deployer can efficiently check that the execution is faithful. We ...
- research-articleSeptember 2024
Automated Program Repair with the GPT Family, including GPT-2, GPT-3 and CodeX
APR '24: Proceedings of the 5th ACM/IEEE International Workshop on Automated Program RepairPages 34–41https://doi.org/10.1145/3643788.3648021Automated Program Repair (APR) is a promising approach for addressing software defects and improving software reliability. There are various approaches to APR, including using Machine Learning (ML) techniques such as neural networks and evolutionary ...
- research-articleApril 2024
RogueOne: Detecting Rogue Updates via Differential Data-flow Analysis Using Trust Domains
ICSE '24: Proceedings of the IEEE/ACM 46th International Conference on Software EngineeringArticle No.: 101, Pages 1–13https://doi.org/10.1145/3597503.3639199Rogue updates, an important type of software supply-chain attack in which attackers conceal malicious code inside updates to benign software, are a growing problem due to their stealth and effectiveness. We design and implement RogueOne, a system for ...
- research-articleJuly 2024
BoaSpect: An Expressive Instrumentation Platform for JavaScript
Programming '24: Companion Proceedings of the 8th International Conference on the Art, Science, and Engineering of ProgrammingPages 47–51https://doi.org/10.1145/3660829.3660839Instrumentation platforms facilitate the development and deployment of dynamic analyses. The state-of-the-art instrumentation platforms for JavaScript rely on different weaving approaches for instrumentation, offering different levels of analysis ...
- research-articleJanuary 2025
Using Video Production Filters on the Front-End: A Performance Analysis in the Multi-Device Context
Procedia Computer Science (PROCS), Volume 246, Issue CPages 2577–2586https://doi.org/10.1016/j.procs.2024.09.440AbstractModern Web development, especially in the area of multimedia editing and processing, revolves around the ever-evolving study of WebAssembly’s techniques to move portions of video legacy applications to the Web, by considering mainly the front-end ...
- research-articleJanuary 2024
Low Code Approach for Business Analytics
Procedia Computer Science (PROCS), Volume 231, Issue CPages 421–426https://doi.org/10.1016/j.procs.2023.12.228AbstractLow-code is an approach to programming that seeks to enable the creation of artefacts by both programmers and non-programmers. It enables the rapid creation and delivery of applications with minimal effort to write in a programming language as ...
- research-articleDecember 2023
JiuJITsu: Removing Gadgets with Safe Register Allocation for JIT Code Generation
ACM Transactions on Architecture and Code Optimization (TACO), Volume 21, Issue 1Article No.: 3, Pages 1–26https://doi.org/10.1145/3631526Code-reuse attacks have the capability to craft malicious instructions from small code fragments, commonly referred to as “gadgets.” These gadgets are generated by JIT (Just-In-Time) engines as integral components of native instructions, with the ...
- research-articleNovember 2023
npm-follower: A Complete Dataset Tracking the NPM Ecosystem
ESEC/FSE 2023: Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software EngineeringPages 2132–2136https://doi.org/10.1145/3611643.3613094Software developers typically rely upon a large network of dependencies to build their applications. For instance, the NPM package repository contains over 3 million packages and serves tens of billions of downloads weekly. Understanding the structure ...
- research-articleSeptember 2024
Increasing the Responsiveness of Web Applications by Introducing Lazy Loading
ASE '23: Proceedings of the 38th IEEE/ACM International Conference on Automated Software EngineeringPages 459–470https://doi.org/10.1109/ASE56229.2023.00192Front-end developers want their applications to contain no more code than is needed in order to minimize the amount of time that elapses between visiting a web page and the page becoming responsive. However, front-end code is typically written in ...