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

Programming Languages and Compilers Commons™

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

1,845 Full-Text Articles 3,363 Authors 771,689 Downloads 137 Institutions

All Articles in Programming Languages and Compilers

Faceted Search

1,845 full-text articles. Page 31 of 79.

Evolution Of Computational Thinking Contextualized In A Teacher-Student Collaborative Learning Environment., John Arthur Underwood 2020 Louisiana State University and Agricultural and Mechanical College

Evolution Of Computational Thinking Contextualized In A Teacher-Student Collaborative Learning Environment., John Arthur Underwood

LSU Doctoral Dissertations

The discussion of Computational Thinking as a pedagogical concept is now essential as it has found itself integrated into the core science disciplines with its inclusion in all of the Next Generation Science Standards (NGSS, 2018). The need for a practical and functional definition for teacher practitioners is a driving point for many recent research endeavors. Across the United States school systems are currently seeking new methods for expanding their students’ ability to analytically think and to employee real-world problem-solving strategies (Hopson, Simms, and Knezek, 2001). The need for STEM trained individuals crosses both the vocational certified and college degreed …


A Real-Time Internet Of Things (Iot) Based Affective Framework For Monitoring Emotions In Infants, Alhagie Sallah 2020 University of Texas at Tyler

A Real-Time Internet Of Things (Iot) Based Affective Framework For Monitoring Emotions In Infants, Alhagie Sallah

Electrical Engineering Theses

An increase in the number of working parents has led to a higher demand for remotely monitoring activities of babies through baby monitors. The baby monitors vary from simple audio and video monitoring frameworks to advance applications where we can integrate sensors for tracking vital signs such as heart rate, respiratory rate monitoring. The Internet of Things (IoT) is a network of devices where each device can is recognizable in the network. The IoT node is a sensor or device, which primarily functions as a data acquisition unit. The data acquired through the IoT nodes are wirelessly transmitted to the …


Javafx Application, Pengfei Huang 2020 Minnesota State University Moorhead

Javafx Application, Pengfei Huang

Student Academic Conference

Developing java GUI application by using JavaFX.


A Multi-Input Deep Learning Model For C/C++ Source Code Attribution, Richard J. Tindell II 2020 James Madison University

A Multi-Input Deep Learning Model For C/C++ Source Code Attribution, Richard J. Tindell Ii

Masters Theses, 2020-current

Code stylometry is applying analysis techniques to a collection of source code or binaries to determine variations in style. The variations extracted are often used to identify the author of the text or to differentiate one piece from another.

In this research, we were able to create a multi-input deep learning model that could accurately categorize and group code from multiple projects. The deep learning model took as input word-based tokenization for code comments, character-based tokenization for the source code text, and the metadata features described by A. Caliskan-Islam et al. Using these three inputs, we were able to achieve …


Comparative Analysis Of Metabolic Pathways Of Bacteria Used In Fermented Food, Keanu Hoang, Kiran Bastola 2020 University of Nebraska at Omaha

Comparative Analysis Of Metabolic Pathways Of Bacteria Used In Fermented Food, Keanu Hoang, Kiran Bastola

Theses/Capstones/Creative Projects

This study presents a novel methodology for analyzing metabolic pathways. Utilizing KEGG REST API through a Biopython package and file parser, data about whether or not a bacteria has an enzyme or not was extracted. The results found that differences in metabolic pathway enrichment values follow along the lines of genera and pathway type. In particular, bacteria found in food spoilage and commercial nitrogen fixing products had high values of enrichment.


Posit: Simultaneously Tagging Natural And Programming Languages, Profir-Petru PÂRȚACHI, Santanu DASH, Christoph TREUDE, Earl T. BARR 2020 Singapore Management University

Posit: Simultaneously Tagging Natural And Programming Languages, Profir-Petru Pârțachi, Santanu Dash, Christoph Treude, Earl T. Barr

Research Collection School Of Computing and Information Systems

Software developers use a mix of source code and natural language text to communicate with each other: Stack Overflow and Developer mailing lists abound with this mixed text. Tagging this mixed text is essential for making progress on two seminal software engineering problems — traceability, and reuse via precise extraction of code snippets from mixed text. In this paper, we borrow code-switching techniques from Natural Language Processing and adapt them to apply to mixed text to solve two problems: language identification and token tagging. Our technique, POSIT, simultaneously provides abstract syntax tree tags for source code tokens, part-of-speech tags for …


Obtaining Real-World Benchmark Programs From Open-Source Repositories Through Abstract-Semantics Preserving Transformations, Maria Anne Rachel Paquin 2020 Boise State University

Obtaining Real-World Benchmark Programs From Open-Source Repositories Through Abstract-Semantics Preserving Transformations, Maria Anne Rachel Paquin

Boise State University Theses and Dissertations

Benchmark programs are an integral part of program analysis research. Researchers use benchmark programs to evaluate existing techniques and test the feasibility of new approaches. The larger and more realistic the set of benchmarks, the more confident a researcher can be about the correctness and reproducibility of their results. However, obtaining an adequate set of benchmark programs has been a long-standing challenge in the program analysis community.

In this thesis, we present the APT tool, a framework we designed and implemented to automate the generation of realistic benchmark programs suitable for program analysis evaluations. Our tool targets intra-procedural analyses that …


Polyhedral+Dataflow Graphs, Eddie C. Davis 2020 Boise State University

Polyhedral+Dataflow Graphs, Eddie C. Davis

Boise State University Theses and Dissertations

This research presents an intermediate compiler representation that is designed for optimization, and emphasizes the temporary storage requirements and execution schedule of a given computation to guide optimization decisions. The representation is expressed as a dataflow graph that describes computational statements and data mappings within the polyhedral compilation model. The targeted applications include both the regular and irregular scientific domains.

The intermediate representation can be integrated into existing compiler infrastructures. A specification language implemented as a domain specific language in C++ describes the graph components and the transformations that can be applied. The visual representation allows users to reason about …


An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray 2020 CUNY Hunter College

An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray

Publications and Research

Streaming APIs allow for big data processing of native data structures by providing MapReduce-like operations over these structures. However, unlike traditional big data systems, these data structures typically reside in shared memory accessed by multiple cores. Although popular, this emerging hybrid paradigm opens the door to possibly detrimental behavior, such as thread contention and bugs related to non-execution and non-determinism. This study explores the use and misuse of a popular streaming API, namely, Java 8 Streams. The focus is on how developers decide whether or not to run these operations sequentially or in parallel and bugs both specific and tangential …


An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray 2020 CUNY Hunter College

An Empirical Study On The Use And Misuse Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Baishakhi Ray

Publications and Research

Streaming APIs allow for big data processing of native data structures by providing MapReduce-like operations over these structures. However, unlike traditional big data systems, these data structures typically reside in shared memory accessed by multiple cores. Although popular, this emerging hybrid paradigm opens the door to possibly detrimental behavior, such as thread contention and bugs related to non-execution and non-determinism. This study explores the use and misuse of a popular streaming API, namely, Java 8 Streams. The focus is on how developers decide whether or not to run these operations sequentially or in parallel and bugs both specific and tangential …


Achieving Obfuscation Through Self-Modifying Code: A Theoretical Model, Heidi Waddell 2020 Liberty University

Achieving Obfuscation Through Self-Modifying Code: A Theoretical Model, Heidi Waddell

Senior Honors Theses

With the extreme amount of data and software available on networks, the protection of online information is one of the most important tasks of this technological age. There is no such thing as safe computing, and it is inevitable that security breaches will occur. Thus, security professionals and practices focus on two areas: security, preventing a breach from occurring, and resiliency, minimizing the damages once a breach has occurred. One of the most important practices for adding resiliency to source code is through obfuscation, a method of re-writing the code to a form that is virtually unreadable. …


Storage Management Strategy In Mobile Phones For Photo Crowdsensing, En Wang, Zhengdao Qu, Xinyao Liang, Xiangyu Meng, Yongjian Yang, Dawei Li, Weibin Meng 2020 Jilin University

Storage Management Strategy In Mobile Phones For Photo Crowdsensing, En Wang, Zhengdao Qu, Xinyao Liang, Xiangyu Meng, Yongjian Yang, Dawei Li, Weibin Meng

Department of Computer Science Faculty Scholarship and Creative Works

In mobile crowdsensing, some users jointly finish a sensing task through the sensors equipped in their intelligent terminals. In particular, the photo crowdsensing based on Mobile Edge Computing (MEC) collects pictures for some specific targets or events and uploads them to nearby edge servers, which leads to richer data content and more efficient data storage compared with the common mobile crowdsensing; hence, it has attracted an important amount of attention recently. However, the mobile users prefer uploading the photos through Wifi APs (PoIs) rather than cellular networks. Therefore, photos stored in mobile phones are exchanged among users, in order to …


Gradual Program Analysis, Samuel Estep 2020 Liberty University

Gradual Program Analysis, Samuel Estep

Senior Honors Theses

Dataflow analysis and gradual typing are both well-studied methods to gain information about computer programs in a finite amount of time. The gradual program analysis project seeks to combine those two techniques in order to gain the benefits of both. This thesis explores the background information necessary to understand gradual program analysis, and then briefly discusses the research itself, with reference to publication of work done so far. The background topics include essential aspects of programming language theory, such as syntax, semantics, and static typing; dataflow analysis concepts, such as abstract interpretation, semilattices, and fixpoint computations; and gradual typing theory, …


Incorporating Digital Ethics Throughout The Software Development Process, Michael Collins, Damian Gordon, Anna Becevel, William O'Mahony 2020 Technological University Dublin

Incorporating Digital Ethics Throughout The Software Development Process, Michael Collins, Damian Gordon, Anna Becevel, William O'Mahony

Conference papers

The media is reporting scandals associated with computer companies with increasing regularity; whether it is the misuse of user data, breach of privacy concerns, the use of biased artificial intelligence, or the problems of automated vehicles. Because of these complex issues, there is a growing need to equip computer science students with a deep appreciation of ethics, and to ensure that in the future they will develop computer systems that are ethically-based. One particularly useful strand of their education to incorporate ethics into is when teaching them about the formal approaches to developing computer systems.

There are a number of …


Securing Bring-Your-Own-Device (Byod) Programming Exams, Oka KURNIAWAN, Norman LEE, Christopher M. POSKITT 2020 Singapore Univerisity of Technology and Design

Securing Bring-Your-Own-Device (Byod) Programming Exams, Oka Kurniawan, Norman Lee, Christopher M. Poskitt

Research Collection School Of Computing and Information Systems

Traditional pen and paper exams are inadequate for modern university programming courses as they are misaligned with pedagogies and learning objectives that target practical coding ability. Unfortunately, many institutions lack the resources or space to be able to run assessments in dedicated computer labs. This has motivated the development of bring-your-own-device (BYOD) exam formats, allowing students to program in a similar environment to how they learnt, but presenting instructors with significant additional challenges in preventing plagiarism and cheating. In this paper, we describe a BYOD exam solution based on lockdown browsers, software which temporarily turns students' laptops into secure workstations …


Mcdpc: Multi‐Center Density Peak Clustering, Yizhang WANG, Di WANG, Xiaofeng ZHANG, Wei PANG, Chunyan MIAO, Ah-hwee TAN, You ZHOU 2020 Singapore Management University

Mcdpc: Multi‐Center Density Peak Clustering, Yizhang Wang, Di Wang, Xiaofeng Zhang, Wei Pang, Chunyan Miao, Ah-Hwee Tan, You Zhou

Research Collection School Of Computing and Information Systems

Density peak clustering (DPC) is a recently developed density-based clustering algorithm that achieves competitive performance in a non-iterative manner. DPC is capable of effectively handling clusters with single density peak (single center), i.e., based on DPC’s hypothesis, one and only one data point is chosen as the center of any cluster. However, DPC may fail to identify clusters with multiple density peaks (multi-centers) and may not be able to identify natural clusters whose centers have relatively lower local density. To address these limitations, we propose a novel clustering algorithm based on a hierarchical approach, named multi-center density peak clustering (McDPC). …


Using Cuda To Enhance Data Processing Of Variant Call Format Files For Statistical Genetic Analysis, Heather McKinnon 2020 Central Washington University

Using Cuda To Enhance Data Processing Of Variant Call Format Files For Statistical Genetic Analysis, Heather Mckinnon

All Graduate Projects

Utilizing the power of GPU parallel processing with CUDA can speed up the processing of Variant Call Format (VCF) files and statistical analysis of genomic data. A software package designed toward this purpose would be beneficial to genetic researchers by saving them time which they could spend on other aspects of their research. A data set containing genetics from a study of trichome production in Mimulus guttatus, or yellow monkey flower, was used to develop a package to test the effectiveness of GPU parallel processing versus serial executions. After a serial version of the code was generated and benchmarked, OpenACC …


Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh 2020 CUNY Hunter College

Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh

Publications and Research

Streaming APIs are becoming more pervasive in mainstream Object-Oriented programming languages and platforms. For example, the Stream API introduced in Java 8 allows for functional-like, MapReduce-style operations in processing both finite, e.g., collections, and infinite data structures. However, using this API efficiently involves subtle considerations such as determining when it is best for stream operations to run in parallel, when running operations in parallel can be less efficient, and when it is safe to run in parallel due to possible lambda expression side-effects. ics-preserving fashion. The approach, based on a novel data ordering and typestate analysis, consists of preconditions and …


Building Something With The Raspberry Pi, Richard Kordel 2020 Harrisburg University of Science and Technology

Building Something With The Raspberry Pi, Richard Kordel

Harrisburg University Presidential Research Grants

In 2017 Ryan Korn and I submitted a grant proposal in the annual Harrisburg University President’s Grant process. Our proposal was to partner with a local high school to install a classroom of 20 Raspberry Pi’s, along with the requisite peripherals. In that classroom students would be challenged to design something that combined programming with physical computing. In our presentation to the school we suggested that this project would give students the opportunity to be “amazing.”

As part of the grant, the top three students would be given scholarships to HU and the top five finalists would all be permitted …


Demand-Driven Execution Using Future Gated Single Assignment Form, Omkar Javeri 2020 Michigan Technological University

Demand-Driven Execution Using Future Gated Single Assignment Form, Omkar Javeri

Dissertations, Master's Theses and Master's Reports

This dissertation discusses a novel, previously unexplored execution model called Demand-Driven Execution (DDE), which executes programs starting from the outputs of the program, progressing towards the inputs of the program. This approach is significantly different from prior demand-driven reduction machines as it can execute a program written in an imperative language using the demand-driven paradigm while extracting both instruction and data level parallelism. The execution model relies on an executable Single Assignment Form which serves both as the internal representation of the compiler as well as the Instruction Set Architecture (ISA) of the machine. This work develops the instruction set …


Digital Commons powered by bepress