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 37 of 79.

Towards Zero Knowledge Learning For Cross Language Api Mappings, Duy Quoc Nghi BUI 2019 Singapore Management University

Towards Zero Knowledge Learning For Cross Language Api Mappings, Duy Quoc Nghi Bui

Research Collection School Of Computing and Information Systems

Programmers often need to migrate programs from one language or platform to another in order to implement functionality, instead of rewriting the code from scratch. However, most techniques proposed to identify API mappings across languages and facilitate automated program translation require manually curated parallel corpora that contain already mapped API seeds or functionally-equivalent code using the APIs in two different languages so that the techniques can have an anchor to map APIs. To alleviate the need of curating parallel data and to generalize the applicability of program translation techniques, we develop a new automated approach for identifying API mappings across …


Econometrics In R Program, Ian Connors 2019 University of Rhode Island

Econometrics In R Program, Ian Connors

Senior Honors Projects

Econometrics and Datamining using R Programming

I provide an analysis of Rhode Island economic conditions by comparing economic variables in the state to other states in New England and the country as a whole. I learned the programming language R to complete the analysis using published economic statistics. Statistics provided from the Bureau of Economic Analysis (BEA) show quarterly or annual trends which can assist the researcher in predicting future trends. This data includes figures such as real personal income, real GDP, per capita real GDP, regional price parities, housing prices, and total full-time and part-time employment by state; additionally, …


Teaching Introductory Programming Concepts Through A Gesture-Based Interface, Lora Streeter 2019 University of Arkansas, Fayetteville

Teaching Introductory Programming Concepts Through A Gesture-Based Interface, Lora Streeter

Graduate Theses and Dissertations

Computer programming is an integral part of a technology driven society, so there is a tremendous need to teach programming to a wider audience. One of the challenges in meeting this demand for programmers is that most traditional computer programming classes are targeted to university/college students with strong math backgrounds. To expand the computer programming workforce, we need to encourage a wider range of students to learn about programming.

The goal of this research is to design and implement a gesture-driven interface to teach computer programming to young and non-traditional students. We designed our user interface based on the feedback …


Automatically Generating Documentation For Lambda Expressions In Java, Anwar ALQAIMI, Patanamon THONGTANUNAM, Christoph TREUDE 2019 Singapore Management University

Automatically Generating Documentation For Lambda Expressions In Java, Anwar Alqaimi, Patanamon Thongtanunam, Christoph Treude

Research Collection School Of Computing and Information Systems

When lambda expressions were introduced to the Java programming language as part of the release of Java 8 in 2014, they were the language’s first step into functional programming. Since lambda expressions are still relatively new, not all developers use or understand them. In this paper, we first present the results of an empirical study to determine how frequently developers of GitHub repositories make use of lambda expressions and how they are documented. We find that 11% of Java GitHub repositories use lambda expressions, and that only 6% of the lambda expressions are accompanied by source code comments. We then …


Sotorrent: Studying The Origin, Evolution, And Usage Of Stack Overflow Code Snippets, Sebastian BALTES, Christoph TREUDE, Stephan DIEHL 2019 Singapore Management University

Sotorrent: Studying The Origin, Evolution, And Usage Of Stack Overflow Code Snippets, Sebastian Baltes, Christoph Treude, Stephan Diehl

Research Collection School Of Computing and Information Systems

Stack Overflow (SO) is the most popular questionand-answer website for software developers, providing a large amount of copyable code snippets. Like other software artifacts, code on SO evolves over time, for example when bugs are fixed or APIs are updated to the most recent version. To be able to analyze how code and the surrounding text on SO evolves, we built SOTorrent, an open dataset based on the official SO data dump. SOTorrent provides access to the version history of SO content at the level of whole posts and individual text and code blocks. It connects code snippets from SO …


Pyscan: Interfacing Laboratory Instruments With Python, Julian N. Payne, Peter E. Timperman 2019 Hope College

Pyscan: Interfacing Laboratory Instruments With Python, Julian N. Payne, Peter E. Timperman

18th Annual Celebration of Undergraduate Research and Creative Activity (2019)

Laboratory instruments can be interfaced with and controlled from personal computers. Several programs to scan lasers and acquire data have been written by students in the Polik Lab. However, computer hardware and software change more rapidly (3-5 years) than instrument lifetime (20 years). Thus, programs must be replaced to run on modern computers and operating systems. This can be done to minimize dependence on specific hardware and software. PyScan is a laser instrument interface program intended to replace the Polik Lab’s current software. It allows the user to control the laser, setup a scan, acquire data, and store the data …


Autonomous Watercraft Simulation And Programming, Nicholas J. Savino 2019 University of Lynchburg

Autonomous Watercraft Simulation And Programming, Nicholas J. Savino

Student Scholar Showcase

Automation of various modes of transportation is thought to make travel more safe and efficient. Over the past several decades, advances to semi-autonomous and autonomous vehicles have led to advanced autopilot systems on planes and boats, and an increasing popularity of self-driving cars. We predicted the motion of an autonomous vehicle using simulations in Python. The simulation models the motion of a small scale watercraft, which can then be built and programmed using an Arduino Microcontroller. We examined different control methods for a simulated rescue craft to reach a target. We also examined the effects of different factors, such as …


Dynamic Lazy Grounding In Answer Set Programming, Brian Hodges 2019 University of Nebraska at Omaha

Dynamic Lazy Grounding In Answer Set Programming, Brian Hodges

Computer Science Graduate Research Workshop

No abstract provided.


Automatic Program Rewriting For Non-Ground Answer Set Programs, Nicholas Hippen 2019 University of Nebraska at Omaha

Automatic Program Rewriting For Non-Ground Answer Set Programs, Nicholas Hippen

Computer Science Graduate Research Workshop

No abstract provided.


Cst1101–Problem Solving With Computer Programming, Syllabus, Spring 2019, Douglas L. Moody 2019 CUNY New York City College of Technology

Cst1101–Problem Solving With Computer Programming, Syllabus, Spring 2019, Douglas L. Moody

Open Educational Resources

No abstract provided.


Revocable Attribute-Based Encryption With Decryption Key Exposure Resistance And Ciphertext Delegation, Shengmin XU, Guomin YANG, Yi MU 2019 Singapore Management University

Revocable Attribute-Based Encryption With Decryption Key Exposure Resistance And Ciphertext Delegation, Shengmin Xu, Guomin Yang, Yi Mu

Research Collection School Of Computing and Information Systems

Attribute-based encryption (ABE) enables fine-grained access control over encrypted data. A practical and popular approach for handing revocation in ABE is to use the indirect revocation mechanism, in which a key generation centre (KGC) periodically broadcasts key update information for all data users over a public channel. Unfortunately, existing RABE schemes are vulnerable to decryption key exposure attack which has been well studied in the identity-based setting. In this paper, we introduce a new notion for RABE called re-randomizable piecewise key generation by allowing a data user to re-randmomize the combined secret key and the key update to obtain the …


Functionality & Privacy In Mobile Applications - Who's Going To Win The Game, Debin Gao 2019 Singapore Management University

Functionality & Privacy In Mobile Applications - Who's Going To Win The Game, Debin Gao

MITB Thought Leadership Series

MOBILE APPS have brought so much convenience and fun into our lives. From route planning to grocery shopping, reserving flights and hiring bicycles, to the action games we play to pass the time on public transport.


Microbtc: Efficient, Flexible And Fair Micropayment For Bitcoin Using Hash Chains, Zhiguo WAN, Robert H. DENG, David Kuo Chuen LEE, Ying LI 2019 Singapore Management University

Microbtc: Efficient, Flexible And Fair Micropayment For Bitcoin Using Hash Chains, Zhiguo Wan, Robert H. Deng, David Kuo Chuen Lee, Ying Li

Research Collection School Of Computing and Information Systems

While Bitcoin gains increasing popularity in different payment scenarios, the transaction fees make it difficult to be applied to micropayment. Given the wide applicability of micropayment, it is crucial for all cryptocurrencies including Bitcoin to provide effective support therein. In light of this, a number of low-cost micropayment schemes for Bitcoin have been proposed recently to reduce micropayment costs. Existing schemes, however, suffer from drawbacks such as high computation cost, inflexible payment value, and possibly unfair exchanges. The paper proposes two new micropayment schemes, namely the basic MicroBTC and the advanced MicroBTC, for Bitcoin by integrating the hash chain technique …


Supported Programming For Beginning Developers, Andrew Gilbert 2019 California Polytechnic State University, San Luis Obispo

Supported Programming For Beginning Developers, Andrew Gilbert

Master's Theses

Testing code is important, but writing test cases can be time consuming, particularly for beginning programmers who are already struggling to write an implementation. We present TestBuilder, a system for test case generation which uses an SMT solver to generate inputs to reach specified lines in a function, and asks the user what the expected outputs would be for those inputs. The resulting test cases check the correctness of the output, rather than merely ensuring the code does not crash. Further, by querying the user for expectations, TestBuilder encourages the programmer to think about what their code ought to do, …


Cs04all: List Comprehensions, Hunter R. Johnson 2019 CUNY John Jay College

Cs04all: List Comprehensions, Hunter R. Johnson

Open Educational Resources

List Comprehensions

This is a tutorial on list comprehensions in Python, suitable for use in an Intro or CS0 course. We also briefly mention set comprehensions and dictionary comprehensions.

https://cocalc.com/share/bde99afd-76c8-493d-9608-db9019bcd346/171/list_comprehensions?viewer=share/

This OER material was produced as a result of the CS04ALL CUNY OER project


Topical Co-Attention Networks For Hashtag Recommendation On Microblogs, Yang LI, Ting LIU, Jingwen HU, Jing JIANG 2019 Singapore Management University

Topical Co-Attention Networks For Hashtag Recommendation On Microblogs, Yang Li, Ting Liu, Jingwen Hu, Jing Jiang

Research Collection School Of Computing and Information Systems

Hashtags provide a simple and natural way of organizing content in microblog services. Along with the fast growing of microblog services, the task of recommending hashtags for microblogs has been given increasing attention in recent years. However, much of the research depends on hand-crafted features. Motivated by the successful use of neural models for many natural language processing tasks, in this paper, we adopt an attention based neural network to learn the representation of a microblog post. Unlike previous works, which only focus on content attention of microblogs, we propose a novel Topical CoAttention Network (TCAN) that jointly models content …


Automatic Code Review By Learning The Revision Of Source Code, Shu-Ting SHI, Ming LI, David LO, Ferdian THUNG, Xuan HUO 2019 Singapore Management University

Automatic Code Review By Learning The Revision Of Source Code, Shu-Ting Shi, Ming Li, David Lo, Ferdian Thung, Xuan Huo

Research Collection School Of Computing and Information Systems

Code review is the process of manual inspection on the revision of the source code in order to find out whether the revised source code eventually meets the revision requirements. However, manual code review is time-consuming, and automating such the code review process will alleviate the burden of code reviewers and speed up the software maintenance process. To construct the model for automatic code review, the characteristics of the revisions of source code (i.e., the difference between the two pieces of source code) should be properly captured and modeled. Unfortunately, most of the existing techniques can easily model the overall …


A Randomized Controlled Trial On The Impact Of Polyglot Programming In A Database Context, Andreas Stefik, Phillip Merlin Uesbeck 2019 University of Nevada, Las Vegas

A Randomized Controlled Trial On The Impact Of Polyglot Programming In A Database Context, Andreas Stefik, Phillip Merlin Uesbeck

Computer Science Faculty Research

Using more than one programming language in the same project is common practice. Often, additional languages might be introduced to projects to solve specific issues. While the practice is common, it is unclear whether it has an impact on developer productivity. In this paper, we present a pilot study investigating what happens when programmers switch between programming languages. The experiment is a repeated measures double-blind randomized controlled trial with 3 groups with various kinds of code switching in a database context. Results provide a rigorous testing methodology that can be replicated by us or others and a theoretical backing for …


Improving Vix Futures Forecasts Using Machine Learning Methods, James Hosker, Slobodan Djurdjevic, Hieu Nguyen, Robert Slater 2019 Southern Methodist University

Improving Vix Futures Forecasts Using Machine Learning Methods, James Hosker, Slobodan Djurdjevic, Hieu Nguyen, Robert Slater

SMU Data Science Review

The problem of forecasting market volatility is a difficult task for most fund managers. Volatility forecasts are used for risk management, alpha (risk) trading, and the reduction of trading friction. Improving the forecasts of future market volatility assists fund managers in adding or reducing risk in their portfolios as well as in increasing hedges to protect their portfolios in anticipation of a market sell-off event. Our analysis compares three existing financial models that forecast future market volatility using the Chicago Board Options Exchange Volatility Index (VIX) to six machine/deep learning supervised regression methods. This analysis determines which models provide best …


Programming Safety Tips: Why You Should Use Immutable Objects Or How To Create Programs With Bugs That Can Never Be Found Or Fixed., Charles W. Kann 2019 Gettysburg College

Programming Safety Tips: Why You Should Use Immutable Objects Or How To Create Programs With Bugs That Can Never Be Found Or Fixed., Charles W. Kann

Programming Tips and Tricks

Program safety deals with how to make programs as error free as possible. The hardest errors in a program for a programmer to find are often errors in using memory. There are two reasons for this. The first is that errors in accessing memory almost never show problems in the proximate area of the program where the error is made. The error has no apparent impact when it is made, but often causes catastrophic results to occur much later in the program, in areas of the program unrelated to memory error that caused it.

The second reason memory errors are …


Digital Commons powered by bepress