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

Examining Bridges Between Informal And Formal Learning Environments: A Sequential Mixed Method Design, Dagen L. Valentine 2016 University of Nebraska-Lincoln

Examining Bridges Between Informal And Formal Learning Environments: A Sequential Mixed Method Design, Dagen L. Valentine

Department of Agricultural Leadership, Education, and Communication: Dissertations, Theses, and Student Research

The purpose of this sequential mixed method study was to identify schools implementing a technology-based engineering design intervention in a way that connects or bridges formal learning environments of the school-day to informal learning environments such as afterschool programs. Further, this study investigated educators’ decisions that enabled or facilitated bridging between formal and informal learning environments. This cooperation and/or linking between informal and formal learning time is bridging. Participants included public schools (n=16) in Eastern Nebraska that incorporated the Nebraska Wearables Technology (WearTec) program at their school, club or Out-of-School-Time program during the 2015-2016 school year. Three of the schools …


Fine-Grained Detection Of Programming Students’ Frustration Using Keystrokes, Mouse Clicks And Interaction Logs, Hua Leong FWA 2016 Singapore Management University

Fine-Grained Detection Of Programming Students’ Frustration Using Keystrokes, Mouse Clicks And Interaction Logs, Hua Leong Fwa

Research Collection School Of Computing and Information Systems

Prolonged frustration leads to loss of confidence and eventual disinterest in the learning itself. The modelling of frustration in learning is thus important as it informs on the appropriate time to intervene to sustain the interest and motivation of students. To automatically detect learner’s frustration in a naturalistic learning environment, the novel use of keystrokes, mouse clicks and interaction patterns of students captured within the context of a tutoring system was proposed. The modelling approach was described and a comparison was made between the proposed model using Bayesian Network and the baseline Naïve Bayes model. With the formulation of an …


Satisfiability Modulo Heap-Based Programs, Quang Loc LE, Jun SUN, Wei-Ngan CHIN 2016 Singapore Management University

Satisfiability Modulo Heap-Based Programs, Quang Loc Le, Jun Sun, Wei-Ngan Chin

Research Collection School Of Computing and Information Systems

In this work, we present a semi-decision procedure for a fragment of separation logic with user-defined predicates and Presburger arithmetic. To check the satisfiability of a formula, our procedure iteratively unfolds the formula and examines the derived disjuncts. In each iteration, it searches for a proof of either satisfiability or unsatisfiability. Our procedure is further enhanced with automatically inferred invariants as well as detection of cyclic proof. We also identify a syntactically restricted fragment of the logic for which our procedure is terminating and thus complete. This decidable fragment is relatively expressive as it can capture a range of sophisticated …


An Interference-Free Programming Model For Network Objects, Mischael SCHILL, Christopher M. POSKITT, Bertrand MEYER 2016 Singapore Management University

An Interference-Free Programming Model For Network Objects, Mischael Schill, Christopher M. Poskitt, Bertrand Meyer

Research Collection School Of Computing and Information Systems

Network objects are a simple and natural abstraction for distributed object-oriented programming. Languages that support network objects, however, often leave synchronization to the user, along with its associated pitfalls, such as data races and the possibility of failure. In this paper, we present D-Scoop, a distributed programming model that allows for interference-free and transaction-like reasoning on (potentially multiple) network objects, with synchronization handled automatically, and network failures managed by a compensation mechanism. We achieve this by leveraging the runtime semantics of a multi-threaded object-oriented concurrency model, directly generalizing it with a message-based protocol for efficiently coordinating remote objects. We present …


Estimability Tools For Package Developers, Russell V. Lenth 2016 The University of Iowa

Estimability Tools For Package Developers, Russell V. Lenth

The R Journal

When a linear model is rank-deficient, then predictions based on that model become questionable because not all predictions are uniquely estimable. However, some of them are, and the estimability package provides tools that package developers can use to tell which is which. With the use of these tools, a model object’s predict method could return estimable predictions as-is while f lagging non-estimable ones in some way, so that the user can know which predictions to believe. The estimability package also provides, as a demonstration, an estimability-enhanced epredict method to use in place of predict for models fitted using the stats …


Secure Declassification In Faceted Javascript, Tam Wing 2016 San Jose State University

Secure Declassification In Faceted Javascript, Tam Wing

Master's Projects

Information leaks currently represent a major security vulnerability. Malicious code, when injected into a trusted environment and executed in the context of the victim’s privileges, often results in the loss of sensitive information. To address this security issue, this paper focuses on the idea of information flow control using faceted execution [3]. This mechanism allows the interpreter to efficiently keep track of variables across multiple security levels, achieving termination-insensitive non-interference (TINI). With TINI, a program can only leak one bit of data, caused by the termination of a program. One key benefit of having faceted execution is that flow policy …


Taint And Information Flow Analysis Using Sweet.Js Macros, Prakasam Kannan 2016 San Jose State University

Taint And Information Flow Analysis Using Sweet.Js Macros, Prakasam Kannan

Master's Projects

JavaScript has been the primary language for application development in browsers and with the advent of JIT compilers, it is increasingly becoming popular on server side development as well. However, JavaScript suffers from vulnerabilities like cross site scripting and malicious advertisement code on the the client side and on the server side from SQL injection.

In this paper, we present a dynamic approach to efficiently track information flow and taint detection to aid in mitigation and prevention of such attacks using JavaScript based hygienic macros. We use Sweet.js and object proxies to override built-in JavaScript operators to track information flow …


Sign & Share: Full-Stack International Video Sharing Website, Shuxu Tian 2016 Gallaudet University

Sign & Share: Full-Stack International Video Sharing Website, Shuxu Tian

Undergraduate University Honors Capstones

Inspired by VL2 bilingual story apps that focus on American Sign Language and English, this project provides a new application for sharing multi-lingual signed and written stories to a worldwide audience. VL2 story apps include only ASL and English, and are for purchase; VL2 also sells the code to develop stories in other languages, but the code requires technical expertise to use. My new app uses a special set of tools to allow sharing stories in any signed language and written forms of spoken languages without cost and without the need for technical expertise. Known as Sign and Share, this …


Domain-Specific Cross-Language Relevant Question Retrieval, Bowen XU, Zhenchang XING, Xin XIA, David LO, Qingye WANG, Shanping LI 2016 Singapore Management University

Domain-Specific Cross-Language Relevant Question Retrieval, Bowen Xu, Zhenchang Xing, Xin Xia, David Lo, Qingye Wang, Shanping Li

Research Collection School Of Computing and Information Systems

In software development process, developers often seek solutions to the technical problems they encounter by searching relevant questions on Q&A sites. When developers fail to find solutions on Q&A sites in their native language (e.g., Chinese), they could translate their query and search on the Q&A sites in another language (e.g., English). However, developers who are non-native English speakers often are not comfortable to ask or search questions in English, as they do not know the proper translation of the Chinese technical words into the English technical words. Furthermore, the process of manually formulating cross-language queries and determining the weight …


Software Improvements To Parint, A Parallel Integration Software Package, Lawrence Cuneaz 2016 Western Michigan University

Software Improvements To Parint, A Parallel Integration Software Package, Lawrence Cuneaz

Honors Theses

The best software is easy to configure and compile, is expandable and is well tested. Development of the ParInt software package for parallel integration stopped a number of years ago. When handed the software, parts of the package no longer configured or compiled consistently. Furthermore it relied on one random number generator and had no functional testing. The team tuned the auto configuration so that the program would configure and build on current systems, created expandable functionality to add new random number generators and created two functional test packs. Now ParInt can be developed with confidence knowing that it compiles …


Make A Twitter Bot In Python: Iterative Code Examples, Robin Camille Davis, Mark E. Eaton 2016 CUNY John Jay College

Make A Twitter Bot In Python: Iterative Code Examples, Robin Camille Davis, Mark E. Eaton

Publications and Research

A tutorial based upon the LACUNY Emerging Technologies Committee’s “Build Your Own Twitter Bot” day in December 2015, which was billed as a gentle introduction to programming in Python.


A Graph-Based Semantics Workbench For Concurrent Asynchronous Programs, Claudio CORRODI, Alexander HEUßNER, Christopher M. POSKITT 2016 Singapore Management University

A Graph-Based Semantics Workbench For Concurrent Asynchronous Programs, Claudio Corrodi, Alexander Heußner, Christopher M. Poskitt

Research Collection School Of Computing and Information Systems

A number of novel programming languages and libraries have been proposed that offer simpler-to-use models of concurrency than threads. It is challenging, however, to devise execution models that successfully realise their abstractions without forfeiting performance or introducing unintended behaviours. This is exemplified by Scoop—a concurrent object-oriented message-passing language—which has seen multiple semantics proposed and implemented over its evolution. We propose a “semantics workbench” with fully and semi-automatic tools for Scoop, that can be used to analyse and compare programs with respect to different execution models. We demonstrate its use in checking the consistency of semantics by applying it to a …


Front Matter: Proceedings Of The Maics 2016 Conference, University of Dayton 2016 University of Dayton

Front Matter: Proceedings Of The Maics 2016 Conference, University Of Dayton

Content presented at the MAICS conference

Front matter contains:

  • A list of program chairs and committee members
  • Foreword to the proceedings by James P. Buckley, conference chair; Saverio Perugini, general chair

Editors: Phu H. Phung, University of Dayton; Ju Shen, University of Dayton; Michael Glass, Valparaiso University


Cracking The Code Of Success: The Coding Academy, 2016 DePaul University

Cracking The Code Of Success: The Coding Academy

DePaul Magazine

BLUE1647 is a nonprofit technology and entrepreneurship innovation center—a type of tech incubator, but with a difference. The seven-day-a-week coworking space welcomes engineers and developers, but also provides technology education to young people and college students through strategic partnerships with DePaul, Chicago Public Schools and other organizations. BLUE1647 offers MBA social enterprise and undergraduate entrepreneurship students an experiential learning project called the Coding Academy, a tuition-based program offered on a full-scholarship basis to DePaul student cohorts.


A Reflection On Types, Simon. Peyton Jones, Stephanie Weirich, Richard A. Eisenberg, Dimitrios Vytiniotis 2016 Bryn Mawr College

A Reflection On Types, Simon. Peyton Jones, Stephanie Weirich, Richard A. Eisenberg, Dimitrios Vytiniotis

Computer Science Faculty Research and Scholarship

The ability to perform type tests at runtime blurs the line between statically-typed and dynamically-checked languages. Recent developments in Haskell’s type system allow even programs that use reflection to themselves be statically typed, using a type-indexed runtime representation of types called \𝗍𝖾𝗑𝗍𝗂𝗍{𝖳𝗒𝗉𝖾𝖱𝖾𝗉}\textit{TypeRep}. As a result we can build dynamic types as an ordinary, statically-typed library, on top of \𝗍𝖾𝗑𝗍𝗂𝗍{𝖳𝗒𝗉𝖾𝖱𝖾𝗉}\textit{TypeRep} in an open-world context.


Towards Improving Interface Modularity In Legacy Java Software Through Automated Refactoring, Raffi T. Khatchadourian, Olivia Moore, Hidehiko Masuhara 2016 CUNY New York City College of Technology

Towards Improving Interface Modularity In Legacy Java Software Through Automated Refactoring, Raffi T. Khatchadourian, Olivia Moore, Hidehiko Masuhara

Publications and Research

The skeletal implementation pattern is a software design pattern consisting of defining an abstract class that provides a partial interface implementation. However, since Java allows only single class inheritance, if implementers decide to extend a skeletal implementation, they will not be allowed to extend any other class. Also, discovering the skeletal implementation may require a global analysis. Java 8 enhanced interfaces alleviate these problems by allowing interfaces to contain (default) method implementations, which implementers inherit. Java classes are then free to extend a different class, and a separate abstract class is no longer needed; developers considering implementing an interface need …


Towards Improving Interface Modularity In Legacy Java Software Through Automated Refactoring, Raffi Khatchadourian, Olivia Moore, Hidehiko Masuhara 2016 CUNY Hunter College

Towards Improving Interface Modularity In Legacy Java Software Through Automated Refactoring, Raffi Khatchadourian, Olivia Moore, Hidehiko Masuhara

Publications and Research

The skeletal implementation pattern is a software design pattern that defines an abstract class that provides a partial interface implementation. However, since Java allows only single class inheritance, if implementers decide to extend a skeletal implementation, they will not be allowed to extend any other class. Also, discovering the skeletal implementation may require a global analysis. Java 8 enhanced interfaces alleviate these problems by enabling interfaces to contain (default) method implementations, which implementers inherit. Java classes are then free to extend a different class, and a separate abstract class is no longer needed; developers considering implementing an interface need only …


Tango: A Spanish-Based Programming Language, Ashley Zegiestowsky 2016 Butler University

Tango: A Spanish-Based Programming Language, Ashley Zegiestowsky

Undergraduate Honors Thesis Collection

The purpose of this thesis is a two-part project. The first part of the project deals with the creation of my own Spanish-based programming language, Tango, using Spanish key words (instead of English key words). The second part of the project relates to the design and implementation of a compiler that follows the grammar rules outlined in the Tango language in order to successfully lexically analyze, parse, semantically analyze, and generate code for Tango. The structure of this thesis begins with a description of the specific goals achieved in the Tango language, an explanation and brief examples of the Tango …


Visible Type Application, Richard A. Eisenberg, Stephanie Weirich, Hamidhasan G. Ahmed 2016 Bryn Mawr College

Visible Type Application, Richard A. Eisenberg, Stephanie Weirich, Hamidhasan G. Ahmed

Computer Science Faculty Research and Scholarship

The Hindley-Milner HM type system automatically infers the types at which polymorphic functions are used. In HM, the inferred types are unambiguous, and every expression has a principal type. Type annotations make HM compatible with extensions where complete type inference is impossible, such as higher-rank polymorphism and type-level functions. However, programmers cannot use annotations to explicitly provide type arguments to polymorphic functions, as HM requires type instantiations to be inferred.

We describe an extension to HM that allows visible type application. Our extension requires a novel type inference algorithm, yet its declarative presentation is a simple extension to HM. We …


Safe Zero-Cost Coercions For Haskell, Joachim Breitner, Richard A. Eisenberg, Simon Peyton Jones, Stephanie Weirich 2016 Bryn Mawr College

Safe Zero-Cost Coercions For Haskell, Joachim Breitner, Richard A. Eisenberg, Simon Peyton Jones, Stephanie Weirich

Computer Science Faculty Research and Scholarship

Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts to help prevent programmer errors. They serve to create new types that are distinct at compile time but share a run-time representation with some base type. We present a new mechanism that allows for zero-cost conversions between generative type abstractions and their representations, even when such types are deeply nested. We prove type safety in the presence of these conversions and have implemented our work in GHC.


Digital Commons powered by bepress