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

Programming Languages and Compilers Commons

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

1,839 Full-Text Articles 3,354 Authors 748,922 Downloads 137 Institutions

All Articles in Programming Languages and Compilers

Faceted Search

1,839 full-text articles. Page 37 of 79.

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 …


Introductory R For Water Resources - Fall 2019 - University Of North Carolina At Chapel Hill, David Gorelick, Gregory Characklis 2019 University of North Carolina at Chapel Hill

Introductory R For Water Resources - Fall 2019 - University Of North Carolina At Chapel Hill, David Gorelick, Gregory Characklis

All ECSTATIC Materials

This is all course material for R for Researchers, a one-credit course taught at UNC Chapel Hill in Fall 2019 to introduce upperclassmen and graduate students to the R programming language and apply learned skills in basic water resources applications, as well as other (semi-related) topics of interest to students.

Lecture notes were distributed before (as a subset of full lecture notes) and after lectures, and lectures involved collaborative coding exercises with students in class without any powerpoint material. Course material here includes:

Syllabus: rough schedule and description of lectures

Lectures: pdf lecture notes with embedded code, including …


Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. RAHMAN, Chanchal K. ROY, David LO 2019 Singapore Management University

Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo

Research Collection School Of Computing and Information Systems

Traditional code search engines (e.g., Krugle) often do not perform well with natural language queries. They mostly apply keyword matching between query and source code. Hence, they need carefully designed queries containing references to relevant APIs for the code search. Unfortunately, preparing an effective search query is not only challenging but also time-consuming for the developers according to existing studies. In this article, we propose a novel query reformulation technique–RACK–that suggests a list of relevant API classes for a natural language query intended for code search. Our technique offers such suggestions by exploiting keyword-API associations from the questions and answers …


Deep Code Comment Generation With Hybrid Lexical And Syntactical Information, Xing HU, Ge LI, Xin XIA, David LO, Zhi JIN 2019 Peking University

Deep Code Comment Generation With Hybrid Lexical And Syntactical Information, Xing Hu, Ge Li, Xin Xia, David Lo, Zhi Jin

Research Collection School Of Computing and Information Systems

During software maintenance, developers spend a lot of time understanding the source code. Existing studies show that code comments help developers comprehend programs and reduce additional time spent on reading and navigating source code. Unfortunately, these comments are often mismatched, missing or outdated in software projects. Developers have to infer the functionality from the source code. This paper proposes a new approach named Hybrid-DeepCom to automatically generate code comments for the functional units of Java language, namely, Java methods. The generated comments aim to help developers understand the functionality of Java methods. Hybrid-DeepCom applies Natural Language Processing (NLP) techniques to …


Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. RAHMAN, Chanchal K. ROY, David LO 2019 Singapore Management University

Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo

Research Collection School Of Computing and Information Systems

Traditional code search engines (e.g., Krugle) often do not perform well with natural language queries. They mostly apply keyword matching between query and source code. Hence, they need carefully designed queries containing references to relevant APIs for the code search. Unfortunately, preparing an effective search query is not only challenging but also time-consuming for the developers according to existing studies. In this article, we propose a novel query reformulation technique–RACK–that suggests a list of relevant API classes for a natural language query intended for code search. Our technique offers such suggestions by exploiting keyword-API associations from the questions and answers …


A Compiler Target Model For Line Associative Registers, Paul S. Eberhart 2019 University of Kentucky

A Compiler Target Model For Line Associative Registers, Paul S. Eberhart

Theses and Dissertations--Electrical and Computer Engineering

LARs (Line Associative Registers) are very wide tagged registers, used for both register-wide SWAR (SIMD Within a Register )operations and scalar operations on arbitrary fields. LARs include a large data field, type tags, source addresses, and a dirty bit, which allow them to not only replace both caches and registers in the conventional memory hierarchy, but improve on both their functions. This thesis details a LAR-based architecture, and describes the design of a compiler which can generate code for a LAR-based design. In particular, type conversion, alignment, and register allocation are discussed in detail.


Digital Commons powered by bepress