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

Programming Languages and Compilers Commons

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

677 Full-Text Articles 801 Authors 116,087 Downloads 77 Institutions

All Articles in Programming Languages and Compilers

Faceted Search

677 full-text articles. Page 1 of 21.

Augmenting And Structuring User Queries To Support Efficient Free-Form Code Search, Raphael SIRRES, Tegawendé F. BISSYANDE, Dongsun KIM, David LO, Jacques KLEIN, Kisub KIM, Yves Le TRAON 2018 Singapore Management University

Augmenting And Structuring User Queries To Support Efficient Free-Form Code Search, Raphael Sirres, Tegawendé F. Bissyande, Dongsun Kim, David Lo, Jacques Klein, Kisub Kim, Yves Le Traon

Research Collection School Of Information Systems

Source code terms such as method names and variable types are often different from conceptual words mentioned in a search query. This vocabulary mismatch problem can make code search inefficient. In this paper, we present COde voCABUlary (CoCaBu), an approach to resolving the vocabulary mismatch problem when dealing with free-form code search queries. Our approach leverages common developer questions and the associated expert answers to augment user queries with the relevant, but missing, structural code entities in order to improve the performance of matching relevant code examples within large code repositories. To instantiate this approach, we build GitSearch, a code ...


A Tool For Optimizing Java 8 Stream Software Via Automated Refactoring, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Syed Ahmed 2018 CUNY Hunter College

A Tool For Optimizing Java 8 Stream Software Via Automated Refactoring, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Syed Ahmed

Publications and Research

Streaming APIs are pervasive in mainstream Object-Oriented languages. For example, the Java 8 Stream API allows for functional-like, MapReduce-style operations in processing both finite and infinite data structures. However, using this API efficiently involves subtle considerations like 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. In this paper, we describe the engineering aspects of an open source automated refactoring tool called Optimize Streams that assists developers in writing optimal stream software in ...


Colenda @ The University Of Pennsylvania: Using A Decoupled, Pluggable Architecture For Object Processing, Kate Lynch 2018 University of Pennsylvania

Colenda @ The University Of Pennsylvania: Using A Decoupled, Pluggable Architecture For Object Processing, Kate Lynch

Scholarship at Penn Libraries

This poster details the architecture of the repository and the deliverables of the first major release of Colenda, the open-source repository software developed at Penn Libraries. Staff in Digital Library Development & Systems created Colenda, a long-term preservation ecosystem including Samvera, an open-source software framework for repository development, at its core. Colenda is a Samvera instance that provides materials-agnostic fuThis poster details the architecture of the repository and the deliverables of the first major release of Colenda, the open-source repository software developed at Penn Libraries. Staff in Digital Library Development & Systems created Colenda, a long-term preservation ecosystem including Samvera, an open-source ...


Mass Spectrometry Image Creator (Msic): Ion Mobility / Mass Spectrometry Imaging Workflow In Python, Stephen Creger, Julia Laskin, Daniela Mesa Sanchez 2018 Purdue University

Mass Spectrometry Image Creator (Msic): Ion Mobility / Mass Spectrometry Imaging Workflow In Python, Stephen Creger, Julia Laskin, Daniela Mesa Sanchez

The Summer Undergraduate Research Fellowship (SURF) Symposium

Mass spectrometry (MS) is a powerful characterization technique that enables identification of compounds in complex mixtures. Acquiring mass spectra in a spatially-resolved manner (i.e. over a grid), allows the data to be used to generate images that show the spatial distribution and relative intensities of every compound in a sample. These images can be used to monitor and identify biomarkers, explore the metabolism of compounds within tissues, and much more. However, the limitations of mass spectrometry can result in ambiguous compound identifications. Another characterization tool, ion mobility spectrometry (IM) can be integrated into existing MS routines to address this ...


A Divide-And-Conquer Approach To Syntax-Guided Synthesis, Peiyuan Shen, Xiaokang Qiu 2018 Purdue University

A Divide-And-Conquer Approach To Syntax-Guided Synthesis, Peiyuan Shen, Xiaokang Qiu

The Summer Undergraduate Research Fellowship (SURF) Symposium

Program synthesis aims to generate programs automatically from user-provided specifications. One critical research thrust is called Syntax-Guideds Synthesis. In addition to semantic specifications, the user should also provide a syntactic template of the desired program, which helps the synthesizer reduce the search space. The traditional symbolic approaches, such as CounterExample-Guided Inductive Synthesis (CEGIS) framework, does not scale to large search spaces. The goal of this project is to explore a compositional, divide-n-conquer approach that heuristically divides the synthesis task into subtasks and solves them separately. The idea is to decompose the function to be synthesized by creating a set of ...


Bayesian Analytical Approaches For Metabolomics : A Novel Method For Molecular Structure-Informed Metabolite Interaction Modeling, A Novel Diagnostic Model For Differentiating Myocardial Infarction Type, And Approaches For Compound Identification Given Mass Spectrometry Data., Patrick J. Trainor 2018 University of Louisville

Bayesian Analytical Approaches For Metabolomics : A Novel Method For Molecular Structure-Informed Metabolite Interaction Modeling, A Novel Diagnostic Model For Differentiating Myocardial Infarction Type, And Approaches For Compound Identification Given Mass Spectrometry Data., Patrick J. Trainor

Electronic Theses and Dissertations

Metabolomics, the study of small molecules in biological systems, has enjoyed great success in enabling researchers to examine disease-associated metabolic dysregulation and has been utilized for the discovery biomarkers of disease and phenotypic states. In spite of recent technological advances in the analytical platforms utilized in metabolomics and the proliferation of tools for the analysis of metabolomics data, significant challenges in metabolomics data analyses remain. In this dissertation, we present three of these challenges and Bayesian methodological solutions for each. In the first part we develop a new methodology to serve a basis for making higher order inferences in metabolomics ...


Lightweight Call-Graph Construction For Multilingual Software Analysis, Anne-Marie Bogar, Damian Lyons, David Baird 2018 Fordham University

Lightweight Call-Graph Construction For Multilingual Software Analysis, Anne-Marie Bogar, Damian Lyons, David Baird

Faculty Publications

Analysis of multilingual codebases is a topic of increasing importance. In prior work, we have proposed the MLSA (MultiLingual Software Analysis) architecture, an approach to the lightweight analysis of multilingual codebases, and have shown how it can be used to address the challenge of constructing a single call graph from multilingual software with mutual calls. This paper addresses the challenge of constructing monolingual call graphs in a lightweight manner (consistent with the objective of MLSA) which nonetheless yields sufficient information for resolving language interoperability calls. A novel approach is proposed which leverages information from a ...


Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird 2018 Fordham University

Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird

Faculty Publications

Large software systems can often be multilingual – that is, software systems are written in more than one language. However, many popular software engineering tools are monolingual by nature. Nonetheless, companies are faced with the need to manage their large, multilingual codebases to address issues with security, efficiency, and quality metrics. This paper presents a novel lightweight approach to multilingual software analysis – MLSA. The approach is modular and focused on efficient static analysis computation for large codebases. One topic is addressed in detail – the generation of multilingual call graphs to identify language boundary problems in multilingual code. The algorithm for extracting ...


Data Scientist’S Analysis Toolbox: Comparison Of Python, R, And Sas Performance, Jim Brittain, Mariana Cendon, Jennifer Nizzi, John Pleis 2018 Southern Methodist University

Data Scientist’S Analysis Toolbox: Comparison Of Python, R, And Sas Performance, Jim Brittain, Mariana Cendon, Jennifer Nizzi, John Pleis

SMU Data Science Review

A quantitative analysis will be performed on experiments utilizing three different tools used for Data Science. The analysis will include replication of analysis along with comparisons of code length, output, and results. Qualitative data will supplement the quantitative findings. The conclusion will provide data support guidance on the correct tool to use for common situations in the field of Data Science.


Intro Programming Lecture Notes (Student Version), Kyle Burke 2018 Plymouth State University

Intro Programming Lecture Notes (Student Version), Kyle Burke

Open Educational Resources

Lecture notes for an introductory programming course in Python (version 3.x). There are many example problems suitable for "flipped" classes. This follows the order of Allen Downey's Think Python text. Some sections are skipped, but the basics are included through inheritance and polymorphism. No prior programming experience is expected.


Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird 2018 Fordham University

Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird

Faculty Publications

Developer preferences, language capabilities and the persistence of older languages contribute to the trend that large software codebases are often multilingual – that is, written in more than one computer language. While developers can leverage monolingual software development tools to build software components, companies are faced with the problem of managing the resultant large, multilingual codebases to address issues with security, efficiency, and quality metrics. The key challenge is to address the opaque nature of the language interoperability interface: one language calling procedures in a second (which may call a third, or even back to the first), resulting in a potentially ...


Path Creation By Continuous Flocking As An Example Of A Morphogenetic Programming Language, Bruce J MacLennan 2018 University of Tennessee, Knoxville

Path Creation By Continuous Flocking As An Example Of A Morphogenetic Programming Language, Bruce J Maclennan

Faculty Publications and Other Works -- EECS

Artificial morphogenesis uses processes inspired by embryology to control massive swarms of robots to assemble complex physical structures. First, we use an example morphogenetic program to illustrate a prototype implementation of morphgen, a morphogenetic programming language. The syntax and semantics are described informally as illustrated by the example program, which is included in its entirety in an appendix. Another appendix includes a complete formal grammar for the current version of the language. Next, we describe the results of a series of experiments with the program, which simulates a continuous swarm of microscopic agents creating paths from an origin to a ...


Applying Spatial Database Techniques To Other Domains: A Case Study On Top-K And Computational Geometric Operators [Invited Seminar], Kyriakos MOURATIDIS 2018 Singapore Management University

Applying Spatial Database Techniques To Other Domains: A Case Study On Top-K And Computational Geometric Operators [Invited Seminar], Kyriakos Mouratidis

Research Collection School Of Information Systems

In this seminar, we will explore how processing rich spatial data is not the only practical (and research-wise promising) application domain for traditional spatial database techniques. An equally promising direction, possibly with low-hanging fruits for research innovation, may be to apply the spatial data management expertise of our community to non-spatial types of queries, and to extend standard, more theoretical operators to large scale datasets with the objective of practical solutions (as opposed to favorable asymptotic complexity alone). As a case study, we will review spatial database work on top-k-related operators (i.e., non-spatial problems) and how it integrates fundamental ...


An Empirical Study Of Alias Analysis Techniques, Andrew T. Tran, Andrew T. Tran 2018 California Polytechnic State University, San Luis Obispo

An Empirical Study Of Alias Analysis Techniques, Andrew T. Tran, Andrew T. Tran

Master's Theses and Project Reports

As software projects become larger and more complex, software optimization at that scale is only feasible through automated means. One such component of software optimization is alias analysis, which attempts to determine which variables in a program refer to the same area in memory, and is used to relocate instructions to improve performance without interfering with program execution. Several alias analyses have been proposed over the past few decades, with varying degrees of precision and time and space complexity, but few studies have been conducted to compare these techniques with one another, nor to measure with program data to confirm ...


Compiler Optimization Effects On Register Collisions, Jonathan S. Tan 2018 California Polytechnic State University, San Luis Obispo

Compiler Optimization Effects On Register Collisions, Jonathan S. Tan

Master's Theses and Project Reports

We often want a compiler to generate executable code that runs as fast as possible. One consideration toward this goal is to keep values in fast registers to limit the number of slower memory accesses that occur. When there are not enough physical registers available for use, values are ``spilled'' to the runtime stack. The need for spills is discovered during register allocation wherein values in use are mapped to physical registers. One factor in the efficacy of register allocation is the number of values in use at one time (register collisions). Register collision is affected by compiler optimizations that ...


Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson 2018 Cal Poly, SLO

Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson

Master's Theses and Project Reports

Static analysis tools can aid programmers by reporting potential programming mistakes prior to the execution of a program. Funqual is a static analysis tool that reads C++17 code ``in the wild'' and checks that the function call graph follows a set of rules which can be defined by the user. This sort of analysis can help the programmer to avoid errors such as accidentally calling blocking functions in time-sensitive contexts or accidentally allocating memory in heap-sensitive environments. To accomplish this, we create a type system whereby functions can be given user-defined type qualifiers and where users can define their ...


Poster: Towards Safe Refactoring For Intelligent Parallelization Of Java 8 Streams, Yiming Tang, Raffi T. Khatchadourian, Mehdi Bagherzadeh, Syed Ahmed 2018 CUNY Graduate Center

Poster: Towards Safe Refactoring For Intelligent Parallelization Of Java 8 Streams, Yiming Tang, Raffi T. Khatchadourian, Mehdi Bagherzadeh, Syed Ahmed

Publications and Research

The Java 8 Stream API sets forth a promising new programming model that incorporates functional-like, MapReduce-style features into a mainstream programming language. However, using streams correctly and efficiently may involve subtle considerations. In this poster, we present our ongoing work and preliminary results towards an automated refactoring approach that assists developers in writing optimal stream code. The approach, based on ordering and typestate analysis, determines when it is safe and advantageous to convert streams to parallel and optimize a parallel streams.


Rcon Administration Tool Designed For Use With Garry’S Mod And Source Servers, John Gibbons 2018 La Salle University

Rcon Administration Tool Designed For Use With Garry’S Mod And Source Servers, John Gibbons

Mathematics and Computer Science Capstones

The proposed project is an Android application designed to interact with the Source RCON protocol. Defined below: The Source RCON Protocol is a TCP/IP-based communication protocol used by Source Dedicated Server, which allows console commands to be issued to the server via a "remote console", or RCON. The most common use of RCON is to allow server owners to control their game servers without direct access to the machine the server is running on. In order for commands to be accepted, the connection must first be authenticated using the server's RCON password, which can be set using the ...


Designing Smart Applications Using Ar (Augmented Reality), Kimberly A. De La Santa 2018 CUNY New York City College of Technology

Designing Smart Applications Using Ar (Augmented Reality), Kimberly A. De La Santa

Publications and Research

Augmented Reality is rapidly developing in popularity because it brings elements of the virtual world, into our real world. Augmented Reality (AR) is a variation of Virtual Reality (VR). VR technologies immerses a user inside an imaginary environment. While immersed, the user cannot see the real world around them. In contrast, AR allows the user to see the real world, with virtual objects and information intertwined. Therefore, AR supplements reality and enhances the things we see, hear, and feel. This research project will implement a Web page that gives the user the opportunity to experiment with AR.


Tamscript - High Level Programming Interface For The Abstract Tile Assembly Model, Perry Mills 2018 University of Arkansas, Fayetteville

Tamscript - High Level Programming Interface For The Abstract Tile Assembly Model, Perry Mills

Computer Science and Computer Engineering Undergraduate Honors Theses

This paper describes a programming interface, TAMScript, for use with the PyTAS simulator. The interface allows for the dynamic generation of tile types as the simulation progresses, with the goal of reducing complexity for researchers. This paper begins with an introduction to the PyTAS software and a description of the 3D model which it simulates. Next, the changes made to support a dynamic generation scheme are detailed, and some of the potential benefits of this scheme are outlined. Then several of the example scripts which have been written using the TAMScript interface are reviewed. Finally, the potential for future research ...


Digital Commons powered by bepress