Journal Articles, Association for Computing Machinery (ACM)
Permanent URI for this collection
Browse
Recent Submissions
- Computing Education in African Countries: A Literature Review and Contextualised Learning MaterialsHamouda, Sally; Marshall, Linda; Sanders, Kate; Tshukudu, Ethel; Adelakun-Adeyemo, Oluwatoyin; Becker, Brett; Dodoo, Emma; Korsah, G.; Luvhengo, Sandani; Ola, Oluwakemi; Parkinson, Jack; Sanusi, Ismaila (ACM, 2025-01-22)This report begins with a literature review of computing education in Africa.We found a substantial body of work, scattered over more than 80 venues, which we have brought together here for the first time. Several important themes emerge in this dataset, including the need to contextualise computing education. In the second part of this report we investigate contextualisation further. We present a pilot study, grounded in the literature review, of the development of course materials, sample code, and programming assignments for introductory programming, contextualised for six African countries: Botswana, Egypt, Ghana, Nigeria, South Africa, and Zambia. We include the materials, report on a preliminary evaluation of the materials by fellow educators in African countries, and suggest a process by which other educators could develop materials for their local contexts.
- Instructors' Perspectives on Capstone Courses in Computing Fields: A Mixed-Methods StudyHooshangi, Sara; Shakil, Asma; Dasgupta, Subhasish; Davis, Karen C.; Farghally, Mohammed; Fitzpatrick, KellyAnn; Gutica, Mirela; Hardt, Ryan; Riddle, Steve; Seyam, Mohammed (ACM, 2025-01-22)Team-based capstone courses are integral to many undergraduate and postgraduate degree programs in the computing field. They are designed to help students gain hands-on experience and practice professional skills such as communication, teamwork, and selfreflection as they transition into the real world. Prior research on capstone courses has focused primarily on the experiences of students. The perspectives of instructors who teach capstone courses have not been explored comprehensively. However, an instructor’s experience, motivation, and expectancy can have a significant impact on the quality of a capstone course. In this working group, we used a mixed methods approach to understand the experiences of capstone instructors. Issues such as class size, industry partnerships, managing student conflicts, and factors influencing instructor motivation were examined using a quantitative survey and semistructured interviews with capstone teaching staff from multiple institutions across different continents. Our findings show that there are more similarities than differences across various capstone course structures. Similarities include team size, team formation methodologies, duration of the capstone course, and project sourcing. Differences in capstone courses include class sizes and institutional support. Some instructors felt that capstone courses require more time and effort than regular lecture-based courses. These instructors cited that the additional time and effort is related to class size and liaising with external stakeholders, including industry partners. Some instructors felt that their contributions were not recognized enough by the leadership at their institutions. Others acknowledged institutional support and the value that the capstone brought to their department. Overall, we found that capstone instructors were highly intrinsically motivated and enjoyed teaching the capstone course. Most of them agree that the course contributes to their professional development. The majority of the instructors reported positive experiences working with external partners and did not report any issues with Non-Disclosure Agreements (NDAs) or disputes about Intellectual Property (IP). In most institutions, students own the IP of their work, and clients understand that. We use the global perspective that this work has given us to provide guidelines for institutions to better support capstone instructors.
- Beyond the Hype: A Comprehensive Review of Current Trends in Generative AI Research, Teaching Practices, and ToolsPrather, James; Leinonen, Juho; Kiesler, Natalie; Gorson Benario, Jamie; Lau, Sam; MacNeil, Stephen; Norouzi, Narges; Opel, Simone; Pettit, Vee; Porter, Leo; Reeves, Brent; Savelka, Jaromir; Smith, David; Strickroth, Sven; Zingaro, Daniel (ACM, 2025-01-22)Generative AI (GenAI) is advancing rapidly, and the literature in computing education is expanding almost as quickly. Initial responses to GenAI tools were mixed between panic and utopian optimism. Many were fast to point out the opportunities and challenges of GenAI. Researchers reported that these new tools are capable of solving most introductory programming tasks and are causing disruptions throughout the curriculum. These tools can write and explain code, enhance error messages, create resources for instructors, and even provide feedback and help for students like a traditional teaching assistant. In 2024, new research started to emerge on the effects of GenAI usage in the computing classroom. These new data involve the use of GenAI to support classroom instruction at scale and to teach students how to code with GenAI. In support of the former, a new class of tools is emerging that can provide personalized feedback to students on their programming assignments or teach both programming and prompting skills at the same time. With the literature expanding so rapidly, this report aims to summarize and explain what is happening on the ground in computing classrooms. We provide a systematic literature review; a survey of educators and industry professionals; and interviews with educators using GenAI in their courses, educators studying GenAI, and researchers who create GenAI tools to support computing education. The triangulation of these methods and data sources expands the understanding of GenAI usage and perceptions at this critical moment for our community.
- A Fully Polynomial Time Approximation Scheme for Adaptive Variable Rate Task DemandWillcock, Aaron; Fisher, Nathan; Chantem, Thidapat (Tam) (ACM, 2024-11-06)The Adaptive Variable Rate (AVR) task model defines a task where job WCET and period are a function of engine speed. Motivated by a lack of tractable AVR task demand methods, this work uses predefined job sequences for the Bounded Precedence Constraint Knapsack Problem inherent in AVR task demand calculation instead of enumerating all considered speeds as in existing work. A new, exact approach is proposed and approximated, enabling the derivation of a Fully Polynomial Time Approximation Scheme that outperforms the state-of-the-art in runtime (7,800x improvement) and RAM use (99% reduction) with less than 8% demand overestimate.
- User-based I/O Profiling for Leadership Scale HPC WorkloadsYazdani, Ahmad Hossein; Paul, Arnab; Karimi, Ahmad; Wang, Feiyi; Butt, Ali (ACM, 2025-01-04)I/O constitutes a significant portion of most of the application runtime. Spawning many such applications concurrently on an HPC system leads to severe I/O contention. Thus, understanding and subsequently reducing I/O contention induced by such multi-tenancy is critical for the efficient and reliable performance of the HPC system. In this study, we demonstrate that an application’s performance is influenced by the command line arguments passed to the job submission. We model an application’s I/O behavior based on two factors: past I/O behavior within a time window and userconfigured I/O settings via command-line arguments. We conclude that I/O patterns for well-known HPC applications like E3SM and LAMMP are predictable, with an average uncertainty below 0.25 (A probability of 80%) and near zero (A probability of 100%) within a day. However, I/O pattern variance increases as the study time window lengthens. Additionally, we show that for 38 users and at least 50 applications constituting approximately 93000 job submissions, there is a high correlation between a submitted command line and the past command lines made within 1 to 10 days submitted by the user. We claim the length of this time window is unique per user.
- Conversate: Supporting Reflective Learning in Interview Practice Through Interactive Simulation and Dialogic FeedbackDaryanto, Taufiq; Ding, Xiaohan; Wilhelm, Lance; Stil, Sophia; Knutsen, Kirk; Rho, Eugenia (ACM, 2025-01-10)Job interviews play a critical role in shaping one’s career, yet practicing interview skills can be challenging, especially without access to human coaches or peers for feedback. Recent advancements in large language models (LLMs) present an opportunity to enhance the interview practice experience. Yet, little research has explored the effectiveness and user perceptions of such systems or the benefits and challenges of using LLMs for interview practice. Furthermore, while prior work and recent commercial tools have demonstrated the potential of AI to assist with interview practice, they often deliver one-way feedback, where users only receive information about their performance. By contrast, dialogic feedback, a concept developed in learning sciences, is a two-way interaction feedback process that allows users to further engage with and learn from the provided feedback through interactive dialogue. This paper introduces Conversate, a web-based application that supports reflective learning in job interview practice by leveraging large language models (LLMs) for interactive interview simulations and dialogic feedback. To start the interview session, the user provides the title of a job position (e.g., entry-level software engineer) in the system. Then, our system will initialize the LLM agent to start the interview simulation by asking the user an opening interview question and following up with questions carefully adapted to subsequent user responses. After the interview session, our back-end LLM framework will then analyze the user’s responses and highlight areas for improvement. Users can then annotate the transcript by selecting specific sections and writing self-reflections. Finally, the user can interact with the system for dialogic feedback, conversing with the LLM agent to learn from and iteratively refine their answers based on the agent’s guidance. To evaluate Conversate, we conducted a user study with 19 participants to understand their perceptions of using LLM-supported interview simulation and dialogic feedback. Our findings show that participants valued the adaptive follow-up questions from LLMs, as they enhanced the realism of interview simulations and encouraged deeper thinking. Participants also appreciated the AI-assisted annotation, as it reduced their cognitive burden and mitigated excessive self-criticism in their own evaluation of their interview performance. Moreover, participants found the LLM-supported dialogic feedback to be beneficial, as it promoted personalized and continuous learning, reduced feelings of judgment, and allowed them to express disagreement.
- Exploring Large Language Models Through a Neurodivergent Lens: Use, Challenges, Community-Driven Workarounds, and ConcernsCarik, Buse; Ping, Kaike; Ding, Xiaohan; Rho, Eugenia (ACM, 2025-01-10)Despite the increasing use of large language models (LLMs) in everyday life among neurodivergent individuals, our knowledge of how they engage with, and perceive LLMs remains limited. In this study, we investigate how neurodivergent individuals interact with LLMs by qualitatively analyzing topically related discussions from 61 neurodivergent communities on Reddit. Our findings reveal 20 specific LLM use cases across five core thematic areas of use among neurodivergent users: emotional well-being, mental health support, interpersonal communication, learning, and professional development and productivity. We also identified key challenges, including overly neurotypical LLM responses and the limitations of text-based interactions. In response to such challenges, some users actively seek advice by sharing input prompts and corresponding LLM responses. Others develop workarounds by experimenting and modifying prompts to be more neurodivergent-friendly. Despite these efforts, users have significant concerns around LLM use, including potential overreliance and fear of replacing human connections. Our analysis highlights the need to make LLMs more inclusive for neurodivergent users and implications around how LLM technologies can reinforce unintended consequences and behaviors.
- Generative Co-Learners: Enhancing Cognitive and Social Presence of Students in Asynchronous Learning with Generative AIWang, Tianjia; Wu, Tong; Liu, Huayi; Brown, Chris; Chen, Yan (ACM, 2025-01-10)Cognitive presence and social presence are crucial for a comprehensive learning experience. Despite the flexibility of asynchronous learning environments to accommodate individual schedules, the inherent constraints of asynchronous environments make augmenting cognitive and social presence particularly challenging. Students often face challenges such as a lack of timely feedback and support, an absence of non-verbal cues in communication, and a sense of isolation. To address this challenge, this paper introduces Generative Co-Learners, a system designed to leverage generative AI-powered agents, simulating co-learners supporting multimodal interactions, to improve cognitive and social presence in asynchronous learning environments.We conducted a study involving 12 student participants who used our system to engage with online programming tutorials to assess the system’s effectiveness. The results show that by implementing features to support textual and visual communication and simulate an interactive learning environment with generative agents, our system enhances the cognitive and social presence in the asynchronous learning environment. These results suggest the potential to use generative AI to support student learning and transform asynchronous learning into a more inclusive, engaging, and efficacious educational approach.
- WiFi Received Signal Strength (RSS) Based Automated Attendance System for Educational InstitutionsKhan, Sidratul Muntaha; Maliha, Mehreen Tabassum; Haque, Md Shahedul; Rahman, Ashikur (ACM, 2024-12-19)Smartphones are becoming part of people’s day-to-day activities now-a-days. Globally, almost 90% of cellular phones are smartphones. “Personnel tracking” is a viable usage of smartphones. Automated attendance system, an application of personnel tracking, is efficient and essential for enhancing productivity and streamlining operations in modern workplaces and educational institutions. While traditional methods of attendance tracking are prone to inaccuracies and inefficiencies, smartphone-based systems offer a smoother approach. In this paper, we present a smartphone-based attendance system that leverages Wi-Fi signal strength for indoor localization. Instead of requiring precise positioning, we propose a system with zone-based localization approach. We divide the whole area into distinct smaller zones and determine the users’ location within these zones. Through real-world deployment, we demonstrate that our novel approach reduces the complexity of exact positioning while still achieving high accuracy in identifying a user’s presence within specific areas, which are often enclosed by boundaries. Comparative evaluations with implementing an algorithm show the superiority of our proposed method in terms of accuracy and practicality, making it suitable for deployment in large-scale organizational settings.
- Assessing ChatGPT's Code Generation Capabilities with Short vs Long Context Programming ProblemsShuvo, Uddip Acharjee; Dip, Sajib Acharjee; Vaskar, Nirvar Roy; Al Islam, A. B. M. Alim (ACM, 2024-12-19)This study assesses the code generation capabilities of ChatGPT using competitive programming problems from platforms such as LeetCode, HackerRank, and UVa Online Judge. In a novel approach, we contrast ChatGPT’s performance on concise problems from LeetCode against more complex, narrative-driven problems from Codeforces. Our results reveal significant challenges in addressing the intricate narrative structures of Codeforces, with difficulties in problem recognition and strategic planning in extended contexts. While initial code accuracy for LeetCode problems stands at 72%, it drops to 31% for complex Codeforces problems using Python. Additionally, we explore the impact of targeted instructions aimed at enhancing performance, which increased LeetCode accuracy to 73.53% but saw a decrease in Codeforces performance to 29%. Our analysis further extends across multiple programming languages, examining if iterative prompting and specific feedback can enhance code precision and efficiency. We also delve into ChatGPT’s performance on challenging problems and those released post its training period. This research provides insights into the strengths and weaknesses of AI in code generation and lays groundwork for future developments in AI-driven coding tools.
- On Extending Incorrectness Logic with Backwards ReasoningVerbeek, Freek; Sefat, Md Syadus; Fu, Zhoulai; Ravindran, Binoy (ACM, 2025-01-07)This paper studies an extension of O'Hearn's incorrectness logic (IL) that allows backwards reasoning. IL in its current form does not generically permit backwards reasoning. We show that this can be mitigated by extending IL with underspecification. The resulting logic combines underspecification (the result, or postcondition, only needs to formulate constraints over relevant variables) with underapproximation (it allows to focus on fewer than all the paths). We prove soundness of the proof system, as well as completeness for a defined subset of presumptions. We discuss proof strategies that allow one to derive a presumption from a given result. Notably, we show that the existing concept of loop summaries -- closed-form symbolic representations that summarize the effects of executing an entire loop at once -- is highly useful. The logic, the proof system and all theorems have been formalized in the Isabelle/HOL theorem prover.
- A Dynamic Characteristic Aware Index Structure Optimized for Real-world DatasetsYang, Jin; Yoon, Heejin; Yun, Gyeongchan; Noh, Sam; Choi, Young-ri (ACM, 2024-12)Many datasets in real life are complex and dynamic, that is, their key densities are varied over the whole key space and their key distributions change over time. It is challenging for an index structure to efficiently support all key operations for data management, in particular, search, insert, and scan, for such dynamic datasets. In this paper, we present DyTIS (Dynamic dataset Targeted Index Structure), an index that targets dynamic datasets. DyTIS, though based on the structure of Extendible hashing, leverages the CDF of the key distribution of a dataset, and learns and adjusts its structure as the dataset grows. The key novelty behind DyTIS is to group keys by the natural key order and maintain keys in sorted order in each bucket to support scan operations within a hash index. We also define what we refer to as a dynamic dataset and propose a means to quantify its dynamic characteristics. Our experimental results show that DyTIS provides higher performance than the state-of-the-art learned index for the dynamic datasets considered. We also analyze the effects of the dynamic characteristics of datasets, including sequential datasets, as well as the effect of multiple threads on the performance of the indexes.
- Experimental Validation of a 3GPP compliant 5G-based Positioning SystemDhungel, Sarik; Duggal, Gaurav; Ron, Dara; Tripathi, Nishith; Buehrer, R. Michael; Reed, Jeffrey H.; Shah, Vijay K. (ACM, 2024-12-04)The advent of 5G positioning techniques by 3GPP has unlocked possibilities for applications in public safety, vehicular systems, and location-based services. However, these applications demand accurate and reliable positioning performance, which has led to the proposal of newer positioning techniques. To further advance the research on these techniques, in this paper, we develop a 3GPP-compliant 5G positioning testbed, incorporating gNodeBs (gNBs) and User Equipment (UE). The testbed uses New Radio (NR) Positioning Reference Signals (PRS) transmitted by the gNB to generate Time of Arrival (TOA) estimates at the UE. We mathematically model the inter-gNB and UE-gNB time offsets affecting the TOA estimates and examine their impact on positioning performance. Additionally, we propose a calibration method for estimating these time offsets. Furthermore, we investigate the environmental impact on the TOA estimates. Our findings are based on our mathematical model and supported by experimental results.
- Automated and Blind Detection of Low Probability of Intercept RF Anomaly SignalsGusain, Kuanl; Hassan, Zoheb; Couto, David; Malek, Mai Abdel; Shah, Vijay K; Zheng, Lizhong; Reed, Jeffrey H. (ACM, 2024-12-04)Automated spectrum monitoring necessitates the accurate detection of low probability of intercept (LPI) radio frequency (RF) anomaly signals to identify unwanted interference in wireless networks. However, detecting these unforeseen low-power RF signals is fundamentally challenging due to the scarcity of labeled RF anomaly data. In this paper, we introduce WANDA (Wireless ANomaly Detection Algorithm), an automated framework designed to detect LPI RF anomaly signals in low signal-to-interference ratio (SIR) environments without relying on labeled data. WANDA operates through a two-step process: (i) Information extraction, where a convolutional neural network (CNN) utilizing soft Hirschfeld-Gebelein-Rényi correlation (HGR) as the loss function extracts informative features from RF spectrograms; and (ii) Anomaly detection, where the extracted features are applied to a one-class support vector machine (SVM) classifier to infer RF anomalies. To validate the effectiveness of WANDA, we present a case study focused on detecting unknown Bluetooth signals within the WiFi spectrum using a practical dataset. Experimental results demonstrate that WANDA outperforms other methods in detecting anomaly signals across a range of SIR values (-10 dB to 20 dB).
- CLOUD-D RF: Cloud-based Distributed Radio Frequency Heterogeneous Spectrum SensingGreen, Dylan; McIrvin, Caleb; Thaboun, River; Wemlinger, Cora; Risi, Joseph; Jones, Alyse; Toubeh, Maymoonah; Headley, William (ACM, 2024-12-04)In wireless communications, collaborative spectrum sensing is a process that leverages radio frequency (RF) data from multiple RF sensors to make more informed decisions and lower the overall risk of failure in distributed settings. However, most research in collaborative sensing focuses on homogeneous systems using identical sensors, which would not be the case in a real world wireless setting. Instead, due to differences in physical location, each RF sensor would see different versions of signals propagating in the environment, establishing the need for heterogeneous collaborative spectrum sensing. Hence, this paper explores the implementation of collaborative spectrum sensing across heterogeneous sensors, with sensor fusion occurring in the cloud for optimal decision making. We investigate three different machine learning-based fusion methods and test the fused model’s ability to perform modulation classification, with a primary goal of optimizing for network bandwidth in regard to next-generation network applications. Our analysis demonstrates that our fusion process is able to optimize the number of features extracted from the heterogeneous sensors according to their varying performance limitations, simulating adverse conditions in a real-world wireless setting.
- An Interactive Visual Presentation of Core Database Design ConceptsAbdelaziz, Noha; Farghally, Mohammed; Mohammed, Mostafa; Soliman, Taysir (ACM, 2024-12-05)Database design is a core topic in Computer Science (CS) curricula at the university level. Students often encounter difficulties and misconceptions while learning these concepts. Previous research attempted to address these learning difficulties through interactive visual demonstrations. However, most of these resources are not well integrated into the curriculum, and lack a proper educational evaluation. In this paper, we present a set of online interactive visualizations that we name DataBase Visualizations (DBVs), that address common database design learning difficulties in an introductory undergraduate database course. Core database design concepts are visualized step-by-step, facilitating a deep understanding of relationship establishment and mapping onto a relational schema. DBVs could be easily embedded in an online eTextbook facilitating integration with the existing curriculum. We present our findings from an evaluation study of the effectiveness of DBVs when applied to a semester-long undergraduate database course in a large public institution in the middle east. Results indicate that intervention group students had significantly higher scores on a post-test offered as part of the final compared to control group students using primarily traditional textual content. Furthermore, intervention group students were surveyed at the end of the semester asking them about the value of DBVs to their learning process and suggestions for improvement. Survey results indicate that DBVs were clear, engaging, and easy to use. We believe that DBVs will be helpful to undergraduate database instructors in their teaching of basic database design concepts.
- Mutating Matters: Analyzing the Influence of Mutation Testing in Programming CoursesMansur, Rifat Sabbir; Shaffer, Clifford; Edwards, Stephen (ACM, 2024-12-05)Mutation testing is used to gauge the quality of software test suites by introducing small faults, called “mutations”, into code to assess if a test suite can detect them. Although it has been applied extensively in the software industry, mutation testing’s use in programming courses faces both computational and pedagogical barriers. This study examines the impact of mutation testing on student performance in a post-CS2 Data Structures and Algorithms course with 3-4 week life-cycle programming projects. We collected a semester of data with projects using only code coverage (control group) and another semester that used mutation testing (experimental group). We investigated three aspects of mutation testing impact: the quality of student-written test suites, the correctness and complexity of students’ solution code, and the degree of incremental test writing. Our findings suggest that students using mutation testing, as a group, demonstrated higher quality test suites and wrote better solution code compared to students using traditional code coverage methods. Students using mutation testing were more likely to exhibit incremental testing practices.
- AI in and for K-12 Informatics Education. Life after Generative AI.Barendsen, Erik; Lonati, Violetta; Quille, Keith; Altin, Rukiye; Divitini, Monica; Hooshangi, Sara; Karnalim, Oscar; Kiesler, Natalie; Melton, Madison; Suero Montero, Calkin; Morpurgo, Anna (ACM, 2024-12-05)The use and adoption of Generative AI (GenAI) has revolutionised various sectors, including computing education. However, this narrow focus comes at a cost to the wider AI in and for educational research. This working group aims to explore current trends and explore multiple sources of information to identify areas of AI research in K-12 informatics education that are being underserved but needed in the post-GenAI AI era. Our research focuses on three areas: curriculum, teacher-professional learning and policy. The denouement of this aims to identify trends and shortfalls for AI in and for K-12 informatics education. We will systematically review the current literature to identify themes and emerging trends in AI education at K-12. This will be done under two facets, curricula and teacher-professional learning. In addition, we will conduct interviews and surveys with educators and AI experts. Next, we will examine the current policy (such as the European AI Act, and European Commission guidelines on the use of AI and data in education and training as well as international counterparts). Policies are often developed by both educators and experts in the domain, thus providing a source of topics or areas that may be added to our findings. Finally, by synthesising insights from educators, AI experts, and policymakers, as well as the literature and policy, our working group seeks to highlight possible future trends and shortfalls.
- sMVX: Multi-Variant Execution on Selected Code PathsYeoh, Sengming; Wang, Xiaoguang; Jang, Jae-Won; Ravindran, Binoy (ACM, 2024-12-02)Multi-Variant Execution (MVX) is an effective way to detect memory corruption vulnerabilities, intrusions, or live software updates. A traditional MVX system concurrently runs multiple copies of functionally identical, layout-different program variants. Therefore, a typical memory corruption attack that forges pointers can succeed on at most one variant, leading the other variant(s) to crash. The replicated execution adds software security and reliability but also brings multiple times of CPU and memory usage. This paper presents sMVX, a flexible multi-variant execution system replicating variants only on the selected code paths. sMVX allows end-users to annotate a target program and indicate sensitive code regions for multi-variant execution. Such code regions can be authentication-related code or sensitive functions that handle potentially malicious input data. An sMVX runtime only replicates the sensitive functions and executes them in lockstep. We have implemented a prototype of sMVX using an in-process code monitor. The sMVX monitor supports the selected code paths MVX from within the target program’s address space, but the monitor is isolated from the target’s code by the Intel Memory Protection Keys (MPK). We evaluated the sMVX using a benchmark suite and two server applications. The evaluation demonstrates that sMVX exhibits a comparable performance overhead to state-of-the-art MVX systems but requires 20% fewer CPU cycles and 49% less memory consumption on server applications.
- Blocking Tracking JavaScript at the Function GranularityAmjad, Abdul Haddi; Munir, Shaoor; Shafiq, Zubair; Gulzar, Muhammad Ali (ACM, 2024-12-02)Modern websites extensively rely on JavaScript to implement both functionality and tracking. Existing privacy-enhancing content blocking tools struggle against mixed scripts, which simultaneously implement both functionality and tracking. Blocking such scripts would break functionality, and not blocking themwould allowtracking. We propose NoT.js, a fine-grained JavaScript blocking tool that operates at the function-level granularity. NoT.js’s strengths lie in analyzing the dynamic execution context, including the call stack and calling context of each JavaScript function, and then encoding this context to build a rich graph representation. NoT.js trains a supervised machine learning classifier on a webpage’s graph representation to first detect tracking at the function-level and then automatically generates surrogate scripts that preserve functionality while removing tracking. Our evaluation of NoT.js on the top-10K websites demonstrates that it achieves high precision (94%) and recall (98%) in detecting tracking functions, outperforming the state-of-the-art while being robust against off-the-shelf JavaScript obfuscation. Fine-grained detection of tracking functions allows NoT.js to automatically generate surrogate scripts, which our evaluation shows that successfully remove tracking functions without causing major breakage. Our deployment of NoT.js shows that mixed scripts are present on 62.3% of the top-10K websites, with 70.6% of the mixed scripts being third-party that engage in tracking activities such as cookie ghostwriting.