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

Programming Languages and Compilers Commons

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

687 Full-Text Articles 751 Authors 116,087 Downloads 71 Institutions

All Articles in Programming Languages and Compilers

Faceted Search

687 full-text articles. Page 1 of 19.

Comparative Study Of Deep Learning Models For Network Intrusion Detection, Brian Lee, Sandhya Amaresh, Clifford Green, Daniel Engels 2018 Southern Methodist University

Comparative Study Of Deep Learning Models For Network Intrusion Detection, Brian Lee, Sandhya Amaresh, Clifford Green, Daniel Engels

SMU Data Science Review

In this paper, we present a comparative evaluation of deep learning approaches to network intrusion detection. A Network Intrusion Detection System (NIDS) is a critical component of every Internet connected system due to likely attacks from both external and internal sources. A NIDS is used to detect network born attacks such as Denial of Service (DoS) attacks, malware replication, and intruders that are operating within the system. Multiple deep learning approaches have been proposed for intrusion detection systems. We evaluate three models, a vanilla deep neural net (DNN), self-taught learning (STL) approach, and Recurrent Neural Network (RNN) based Long Short ...


Proactive Empirical Assessment Of New Language Feature Adoption Via Automated Refactoring: The Case Of Java 8 Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara 2018 CUNY Hunter College

Proactive Empirical Assessment Of New Language Feature Adoption Via Automated Refactoring: The Case Of Java 8 Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara

Publications and Research

Programming languages and platforms improve over time, sometimes resulting in new language features that offer many benefits. However, despite these benefits, developers may not always be willing to adopt them in their projects for various reasons. In this paper, we describe an empirical study where we assess the adoption of a particular new language feature. Studying how developers use (or do not use) new language features is important in programming language research and engineering because it gives designers insight into the usability of the language to create meaning programs in that language. This knowledge, in turn, can drive future innovations ...


The Synmac Syntax Macroprocessor: Introduction And Manual, Version 5, Bruce J MacLennan 2018 University of Tennessee, Knoxville

The Synmac Syntax Macroprocessor: Introduction And Manual, Version 5, Bruce J Maclennan

Faculty Publications and Other Works -- EECS

A syntax macroprocessor permits parameterized text substitutions with greater syntactic flexibility than allowed with ordinary macroprocessors. This report describes the \emph{synmac} syntax macroprocessor, which permits arbitrarily delimited macro invocations, and thus allows the definition of new statement and expression forms or even complete languages. Synmac is a computationally complete programming language. We define the synmac macro language, document a prototype implementation, and give examples of its use.


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 to- wards 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.


Keep It Simple, Keep It Safe - Research On The Impacts Of Increasing Complexity Of Modern Enterprise Applications, Shawn Ware, David Phillips 2018 University of Nebraska at Omaha

Keep It Simple, Keep It Safe - Research On The Impacts Of Increasing Complexity Of Modern Enterprise Applications, Shawn Ware, David Phillips

Student Research and Creative Activity Fair

As the Cybersecurity program within UNO continues to adapt to the ever-changing world of information systems and information security, the Cybersecurity Capstone has recently become an active, community-involvement project, where real-world organizations can receive valuable, useful research and information from students on their way towards a degree. This presentation encompasses two such projects from the Cybersecurity Capstone, looking at how modern, more complex systems can often increase system vulnerability.


When Good Components Go Bad: Formally Secure Compilation Despite Dynamic Compromise, Guglielmo Fachini, Cătălin Hriţcu, Marco Stronati, Arthur Azevedo de Amorim, Carmine Abate, Roberto Blanco, Théo Laurent, Benjamin C. Pierce, Andrew Tolmach 2018 Inria Paris

When Good Components Go Bad: Formally Secure Compilation Despite Dynamic Compromise, Guglielmo Fachini, CăTăLin Hriţcu, Marco Stronati, Arthur Azevedo De Amorim, Carmine Abate, Roberto Blanco, Théo Laurent, Benjamin C. Pierce, Andrew Tolmach

Computer Science Faculty Publications and Presentations

We propose a new formal criterion for secure compilation, giving strong end-to-end security guarantees for software components written in unsafe, low-level languages with C-style undefined behavior. Our criterion is the first to model dynamic compromise in a system of mutually distrustful components running with least privilege. Each component is protected from all the others—in particular, from components that have encountered undefined behavior and become compromised. Each component receives secure compilation guarantees up to the point when it becomes compromised, after which an attacker can take complete control over the component and use any of its privileges to attack the ...


Real-Time Decision Policies With Predictable Performance, Houssam Abbas, Rajeev Alur, Konstantinos Mamouras, Rahul Mangharam, Alena Rodionova 2018 University of Pennsylvania

Real-Time Decision Policies With Predictable Performance, Houssam Abbas, Rajeev Alur, Konstantinos Mamouras, Rahul Mangharam, Alena Rodionova

Real-Time and Embedded Systems Lab (mLAB)

As methods and tools for Cyber-Physical Systems grow in capabilities and use, one-size-fits-all solutions start to show their limitations. In particular, tools and languages for programming an algorithm or modeling a CPS that are specific to the application domain are typically more usable, and yield better performance, than general-purpose languages and tools. In the domain of cardiac arrhythmia monitoring, a small, implantable medical device continuously monitors the patient's cardiac rhythm and delivers electrical therapy when needed. The algorithms executed by these devices are streaming algorithms, so they are best programmed in a streaming language that allows the programmer to ...


Competency Analytics Tool: Analyzing Curriculum Using Course Competencies, Swapna GOTTIPATI, Venky SHANKARARAMAN 2018 Singapore Management University

Competency Analytics Tool: Analyzing Curriculum Using Course Competencies, Swapna Gottipati, Venky Shankararaman

Research Collection School Of Information Systems

The applications of learning outcomes and competency frameworks have brought better clarity to engineering programs in many universities. Several frameworks have been proposed to integrate outcomes and competencies into course design, delivery and assessment. However, in many cases, competencies are course-specific and their overall impact on the curriculum design is unknown. Such impact analysis is important for analyzing, discovering gaps and improving the curriculum design. Unfortunately, manual analysis is a painstaking process due to large amounts of competencies across the curriculum. In this paper, we propose an automated method to analyze the competencies and discover their impact on the overall ...


A Restful Framework For Writing, Running, And Evaluating Code In Multiple Academic Settings, Christopher Ban 2017 Southern Adventist University

A Restful Framework For Writing, Running, And Evaluating Code In Multiple Academic Settings, Christopher Ban

MS in Computer Science Project Reports

In academia, students and professors want a well-structured and implemented framework for writing and running code in both testing and learning environments. The current limitations of the paper and pencil medium have led to the creation of many different online grading systems. However, no known system provides all of the essential features our client is interested in. Our system, developed in conjunction with Doctor Halterman, offers the ability to build modules from flat files, allow code to be compiled and run in the browser, provide users with immediate feedback, support multiple languages, and offer a module designed specifically for an ...


Extracting Implicit Suggestions From Students’ Comments – A Text Analytics Approach, Venky SHANKARARAMAN, Swapna GOTTIPATI, Jeff Rongsheng LIN 2017 Singapore Management University

Extracting Implicit Suggestions From Students’ Comments – A Text Analytics Approach, Venky Shankararaman, Swapna Gottipati, Jeff Rongsheng Lin

Research Collection School Of Information Systems

At theend of each course, students are required to give feedback on the course andinstructor. This feedback includes quantitative rating using Likert scale andqualitative feedback as comments. Such qualitative feedback can providevaluable insights in helping the instructor enhance the course content andteaching delivery. However, the main challenge in analysing the qualitativefeedback is the perceived increase in time and effort needed to manually processthe textual comments. In this paper, we provide an automated solution foranalysing comments, specifically extracting implicit suggestions from thestudents’ qualitative feedback comments. The implemented solution leveragesexisting text mining and data visualization techniques and comprises three stages namely datapre-processing ...


Software Reengineering: Reverse Engineering With Using 4+1 Architectural Views And Forward Engineering With Mvc Architecture, Shane Mueller 2017 Southern Illinois University Carbondale

Software Reengineering: Reverse Engineering With Using 4+1 Architectural Views And Forward Engineering With Mvc Architecture, Shane Mueller

ASA Multidisciplinary Research Symposium

As software complexity is increasing exponentially in our modern era, software architecture becomes increasingly important. The separation of concerns through architecture allows each programmer the opportunity to limit their need of understanding to only the portion of code for which they are responsible for, thus saving large amounts of time.


Sudoku App: Model-Driven Development Of Android Apps Using Ocl?, Yoonsik Cheon, Aditi Barua 2017 University of Texas at El Paso

Sudoku App: Model-Driven Development Of Android Apps Using Ocl?, Yoonsik Cheon, Aditi Barua

Departmental Technical Reports (CS)

Model driven development (MDD) shifts the focus of software development from writing code to building models by developing an application as a series of transformations on models including eventual code generation. Can the key ideas of MDD be applied to the development of Android apps, one of the most popular mobile platforms of today? To answer this question, we perform a small case study of developing an Android app for playing Sudoku puzzles. We use the Object Constraint Language (OCL) as the notation for creating precise models and translate OCL constraints to Android Java code. Our findings are mixed in ...


On Locating Malicious Code In Piggybacked Android Apps, Li LI, Daoyuan LI, Tegawende F. BISSYANDE, Jacques KLEIN, Haipeng CAI, David LO, Yves LE TRAON 2017 Singapore Management University

On Locating Malicious Code In Piggybacked Android Apps, Li Li, Daoyuan Li, Tegawende F. Bissyande, Jacques Klein, Haipeng Cai, David Lo, Yves Le Traon

Research Collection School Of Information Systems

To devise efficient approaches and tools for detecting malicious packages in the Android ecosystem, researchersare increasingly required to have a deep understanding of malware. There is thus a need to provide a framework for dissectingmalware and locating malicious program fragments within app code in order to build a comprehensive dataset of malicioussamples. Towards addressing this need, we propose in this work a tool-based approach called HookRanker, which providesranked lists of potentially malicious packages based on the way malware behaviour code is triggered. With experiments ona ground truth of piggybacked apps, we are able to automatically locate the malicious packages from ...


The Impact Of Coverage On Bug Density In A Large Industrial Software Project, Thomas BACH, Artur ANDRZEJAK, Ralf PANNEMANS, David LO 2017 Singapore Management University

The Impact Of Coverage On Bug Density In A Large Industrial Software Project, Thomas Bach, Artur Andrzejak, Ralf Pannemans, David Lo

Research Collection School Of Information Systems

Measuring quality of test suites is one ofthe major challenges of software testing. Code coverageidentifies tested and untested parts of code and isfrequently used to approximate test suite quality. Multipleprevious studies have investigated the relationshipbetween coverage ratio and test suite quality, withouta clear consent in the results. In this work we studywhether covered code contains a smaller number of futurebugs than uncovered code (assuming appropriatescaling). If this correlation holds and bug density islower in covered code, coverage can be regarded as ameaningful metric to estimate the adequacy of testing.To this end we analyse 16 000 internal bug reports andbug-fixes ...


Understanding Inactive Yet Available Assignees In Github, Jing JIANG, David LO, Xinyu MA, Fuli FENG, Li ZHANG 2017 Singapore Management University

Understanding Inactive Yet Available Assignees In Github, Jing Jiang, David Lo, Xinyu Ma, Fuli Feng, Li Zhang

Research Collection School Of Information Systems

Context In GitHub, an issue or a pull request can be assigned to a specific assignee who is responsible for working on this issue or pull request. Due to the principle of voluntary participation, available assignees may remain inactive in projects. If assignees ever participate in projects, they are active assignees; otherwise, they are inactive yet available assignees (inactive assignees for short). Objective Our objective in this paper is to provide a comprehensive analysis of inactive yet available assignees in GitHub. Method We collect 2,374,474 records of activities in 37 popular projects, and 797,756 records of activities ...


Defaultification Refactoring: A Tool For Automatically Converting Java Methods To Default, Raffi T. Khatchadourian, Hidehiko Masuhara 2017 CUNY Hunter College

Defaultification Refactoring: A Tool For Automatically Converting Java Methods To Default, Raffi T. Khatchadourian, Hidehiko Masuhara

Publications and Research

Enabling interfaces to declare (instance) method implementations, Java 8 default methods can be used as a substitute for the ubiquitous skeletal implementation software design pattern. Performing this transformation on legacy software manually, though, may be non-trivial. The refactoring requires analyzing complex type hierarchies, resolving multiple implementation inheritance issues, reconciling differences between class and interface methods, and analyzing tie-breakers (dispatch precedence) with overriding class methods. All of this is necessary to preserve type-correctness and confirm semantics preservation. We demonstrate an automated refactoring tool called Migrate Skeletal Implementation to Interface for transforming legacy Java code to use the new default construct. The ...


Wrangle Your Data Like A Pro With The Data Processing Power Of Python, Geoffrey P. Timms, Jeremy M. Brown 2017 College of Charleston

Wrangle Your Data Like A Pro With The Data Processing Power Of Python, Geoffrey P. Timms, Jeremy M. Brown

Charleston Library Conference

Management, delivery, and marketing of library resources and collections necessitate interaction with a plethora of data from many sources and in many forms. Accessing and transforming data into meaningful information or different formats used in library automation can be time consuming, but a working knowledge of a programming language can improve efficiency in many facets of librarianship. From processing lists to creating extensible markup language (XML), from editing machine-readable cataloging (MARC) records before upload to automating statistical reports, the Python programming language and third-party application programming interfaces (APIs) can be used to accomplish both behind-the-scenes tasks and end-user facing projects ...


A Polyglot Approach To Bioinformatics Data Integration: Phylogenetic Analysis Of Hiv-1, Steven Reisman, Catherine Putonti, George K. Thiruvathukal, Konstantin Läufer 2017 Loyola University Chicago

A Polyglot Approach To Bioinformatics Data Integration: Phylogenetic Analysis Of Hiv-1, Steven Reisman, Catherine Putonti, George K. Thiruvathukal, Konstantin Läufer

Konstantin Läufer

RNA-interference has potential therapeutic use against HIV-1 by targeting highly-functional mRNA sequences that contribute to the virulence of the virus. Empirical work has shown that within cell lines, all of the HIV-1 genes are affected by RNAi-induced gene silencing. While promising, inherent in this treatment is the fact that RNAi sequences must be highly specific. HIV, however, mutates rapidly, leading to the evolution of viral escape mutants. In fact, such strains are under strong selection to include mutations within the targeted region, evading the RNAi therapy and thus increasing the virus’ fitness in the host. Taking a phylogenetic approach, we ...


Spring­11: Pdc In Cs1/2 And A Mobile/Cloud Intermediate Mobile/Cloud Intermediate Software Design Course, Joseph P. Kaylor, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal 2017 Loyola University Chicago

Spring­11: Pdc In Cs1/2 And A Mobile/Cloud Intermediate Mobile/Cloud Intermediate Software Design Course, Joseph P. Kaylor, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal

Konstantin Läufer

Recent changes in the environment of Loyola University Chicago’s Department of Computer Science include a better differentiation of our four undergraduate majors, growing interest in computing among science majors, and an increased demand for graduates with mobile and cloud skills. In our continued effort to incorporate parallel and distributed computing topics into the undergraduate curriculum, we are focusing on these three existing courses: CS1: In response to a request from the physics department, we started to offer a CS1 section aimed at majors in physics and other hard sciences this spring semester. This section includes some material on numerical ...


Network Technologies Used To Aggregate Environmental Data, Paul Stasiuk, Konstantin Läufer, George K. Thiruvathukal 2017 Loyola University Chicago

Network Technologies Used To Aggregate Environmental Data, Paul Stasiuk, Konstantin Läufer, George K. Thiruvathukal

Konstantin Läufer

The goal of the Loyola Weather Service (lws) project is to design and build a system of functioning environmental monitoring widgets that can intelligently and autonomously control the environment around them based on set thresholds and triggers. The widgets will also have the ability to aggregate their data and easily display this data in various ways: through a user interface in the room that the widget is placed, via a web application, and programmatically via a RESTful web service.


Digital Commons powered by bepress