Open Access. Powered by Scholars. Published by Universities.®
Programming Languages and Compilers Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Discipline
-
- Software Engineering (9)
- Information Security (3)
- OS and Networks (3)
- Computer Engineering (2)
- Computer and Systems Architecture (2)
-
- Databases and Information Systems (2)
- Engineering (2)
- Graphics and Human Computer Interfaces (2)
- Numerical Analysis and Scientific Computing (2)
- Other Computer Sciences (2)
- Arts and Humanities (1)
- Chemistry (1)
- Curriculum and Instruction (1)
- Education (1)
- Educational Assessment, Evaluation, and Research (1)
- Organic Chemistry (1)
- Other Chemistry (1)
- Physical Chemistry (1)
- Spanish Linguistics (1)
- Spanish and Portuguese Language and Literature (1)
- Systems Architecture (1)
- Institution
- Keyword
-
- Security (2)
- Android (1)
- Applied sciences (1)
- Assessments (1)
- Black-box (1)
-
- Bug detection (1)
- Competencies (1)
- Compiler (1)
- Computer Science (1)
- Curriculum development (1)
- Custom accelerators (1)
- Cyber Security (1)
- Data persistence (1)
- Database (1)
- Delphi (1)
- Dynamic analysis (1)
- Eiffel (1)
- Exploration (1)
- Field-Programmable Gate Arrays (1)
- Framework (1)
- Generation (1)
- IT investments (1)
- Information Security (1)
- Introductory computer science (1)
- Invariant (1)
- JML (1)
- JMLUnitNG (1)
- Javascript flow analysis security (1)
- Just in time (1)
- Manipulation (1)
- Publication
-
- Dissertations and Theses Collection (2)
- Doctoral Dissertations (2)
- Master's Projects (2)
- Mathematics and Computer Science Capstones (2)
- Chancellor’s Honors Program Projects (1)
-
- Electronic Thesis and Dissertation Repository (1)
- Graduate Theses and Dissertations (1)
- Honors Theses (1)
- Master's Theses (1)
- Masters Theses (1)
- STEMPS Theses & Dissertations (1)
- Theses and Dissertations--Computer Science (1)
- Undergraduate Honors Thesis Collection (1)
- Williams Honors College, Honors Research Projects (1)
Articles 1 - 18 of 18
Full-Text Articles in Programming Languages and Compilers
Context-Sensitive Auto-Sanitization For Php, Jared M. Smith, Richard J. Connor, David P. Cunningham, Kyle G. Bashour, Walter T. Work
Context-Sensitive Auto-Sanitization For Php, Jared M. Smith, Richard J. Connor, David P. Cunningham, Kyle G. Bashour, Walter T. Work
Chancellor’s Honors Program Projects
No abstract provided.
Just In Time Assembly (Jita) - A Run Time Interpretation Approach For Achieving Productivity Of Creating Custom Accelerators In Fpgas, Sen Ma
Graduate Theses and Dissertations
The reconfigurable computing community has yet to be successful in allowing programmers to access FPGAs through traditional software development flows. Existing barriers that prevent programmers from using FPGAs include: 1) knowledge of hardware programming models, 2) the need to work within the vendor specific CAD tools and hardware synthesis. This thesis presents a series of published papers that explore different aspects of a new approach being developed to remove the barriers and enable programmers to compile accelerators on next generation reconfigurable manycore architectures. The approach is entitled Just In Time Assembly (JITA) of hardware accelerators. The approach has been defined …
Three Body Interactions Of Rare Gas Solids Calculated Within The Einstein Model, Dan D'Andrea
Three Body Interactions Of Rare Gas Solids Calculated Within The Einstein Model, Dan D'Andrea
Masters Theses
Three body interactions can become important in solids at higher pressures and densities as the molecules can come into close contact. At low temperatures, accurate studies of three body interactions in solids require averaging the three-body terms over the molecules' zero point motions. An efficient, but approximate, averaging approach is based on a polynomial approximation of the three-body term. The polynomial approximation can be developed as a function of the symmetry coordinates of a triangle displaced from its average geometry and also as a function of the Cartesian zero point displacements from each atom’s average position. The polynomial approximation approach …
Combining Static And Dynamic Analysis For Bug Detection And Program Understanding, Kaituo Li
Combining Static And Dynamic Analysis For Bug Detection And Program Understanding, Kaituo Li
Doctoral Dissertations
This work proposes new combinations of static and dynamic analysis for bug detection and program understanding. There are 3 related but largely independent directions: a) In the area of dynamic invariant inference, we improve the consistency of dynamically discovered invariants by taking into account second-order constraints that encode knowledge about
invariants; the second-order constraints are either supplied by the programmer or vetted by the programmer (among candidate constraints suggested automatically); b) In the area of testing dataflow (esp. map-reduce) programs, our tool, SEDGE, achieves higher testing coverage by leveraging existing
input data and generalizing them using a symbolic reasoning engine …
Towards Comprehensive Parametric Code Generation Targeting Graphics Processing Units In Support Of Scientific Computation, Ning Xie
Electronic Thesis and Dissertation Repository
The most popular multithreaded languages based on the fork-join concurrency model (CIlkPlus, OpenMP) are currently being extended to support other forms of parallelism (vectorization, pipelining and single-instruction-multiple-data (SIMD)). In the SIMD case, the objective is to execute the corresponding code on a many-core device, like a GPGPU, for which the CUDA language is a natural choice. Since the programming concepts of CilkPlus and OpenMP are very different from those of CUDA, it is desirable to automatically generate optimized CUDA-like code from CilkPlus or OpenMP.
In this thesis, we propose an accelerator model for annotated C/C++ code together with an implementation …
Techniques For Identifying Mobile Platform Vulnerabilities And Detecting Policy-Violating Applications, Mon Kywe Su
Techniques For Identifying Mobile Platform Vulnerabilities And Detecting Policy-Violating Applications, Mon Kywe Su
Dissertations and Theses Collection
Mobile systems are generally composed of three layers of software: application layer where third-party applications are installed, framework layer where Application Programming Interfaces (APIs) are exposed, and kernel layer where low-level system operations are executed. In this dissertation, we focus on security and vulnerability analysis of framework and application layers. Security mechanisms, such as Android’s sandbox and permission systems, exist in framework layer, while malware scanners protects application layer. However, there are rooms for improvement in both mechanisms. For instance, Android’s permission system is known to be implemented in ad-hoc manner and not well-tested for vulnerabilities. Application layer also focuses …
Decision Modeling And Empirical Analysis Of Mobile Financial Services, Jun Liu
Decision Modeling And Empirical Analysis Of Mobile Financial Services, Jun Liu
Dissertations and Theses Collection
The past twenty years have been a time of many new technological developments, changing business practices, and interesting innovations in the financial information system (IS) and technology landscape. As the financial services industry has been undergoing the digital transformation, the emergence of mobile financial services has been changing the way that customers pay for goods and services purchases and interact with financial institutions. This dissertation seeks to understand the evolution of the mobile payments technology ecosystem and how firms make mobile payments investment decisions under uncertainty, as well as examines the influence of mobile banking on customer behavior and financial …
Effective Performance Analysis And Debugging, Charles M. Curtsinger
Effective Performance Analysis And Debugging, Charles M. Curtsinger
Doctoral Dissertations
Performance is once again a first-class concern. Developers can no longer wait for the next generation of processors to automatically "optimize" their software. Unfortunately, existing techniques for performance analysis and debugging cannot cope with complex modern hardware, concurrent software, or latency-sensitive software services. While processor speeds have remained constant, increasing transistor counts have allowed architects to increase processor complexity. This complexity often improves performance, but the benefits can be brittle; small changes to a program’s code, inputs, or execution environment can dramatically change performance, resulting in unpredictable performance in deployed software and complicating performance evaluation and debugging. Developers seeking to …
Defining The Competencies, Programming Languages, And Assessments For An Introductory Computer Science Course, Simon Sultana
Defining The Competencies, Programming Languages, And Assessments For An Introductory Computer Science Course, Simon Sultana
STEMPS Theses & Dissertations
The purpose of this study was to define the competencies, programming languages, and assessments for an introductory computer science course at a small private liberal arts university. Three research questions were addressed that involved identifying the competencies, programming languages, and assessments that academic and industry experts in California’s Central Valley felt most important and appropriate for an introduction to computer science course.
The Delphi methodology was used to collect data from the two groups of experts with various backgrounds related to computing. The goal was to find consensus among the individual groups to best define aspects that would best comprise …
Secure Declassification In Faceted Javascript, Tam Wing
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 …
Findapark Implementation, David Laratta
Findapark Implementation, David Laratta
Mathematics and Computer Science Capstones
FindAPark is a web service application designed to help a user search for a local hike or vacation revolving around hiking or cycling. Workplan The workplan for this capstone is to create the System Proposal which includes detailed information about the completion of all the items in the System Proposal except the Functional, Structural, and Behavioral Models.
Taint And Information Flow Analysis Using Sweet.Js Macros, Prakasam Kannan
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 …
Software Improvements To Parint, A Parallel Integration Software Package, Lawrence Cuneaz
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 …
Building And Safety Department Android Mobile Application, Nary Simms
Building And Safety Department Android Mobile Application, Nary Simms
Mathematics and Computer Science Capstones
Research has found that Americans spend 4.5 hours watching television, 1.5 hours listening to the radio, about half an hour reading print and spend a whooping five plus hours per day in digital media (online, mobile, other). Out of these five hours, two hours and twenty minutes are spent on a mobile device (phone or tablet), which is a massive increase of about 575 percent from the twenty-four minutes that was reported in 2010. Flurry, an analytic app company, released data about their tracking of more than 300,000 apps in 2013, and they found the average time spent per day …
Spest – A Tool For Specification-Based Testing, Corrigan Redford Johnson
Spest – A Tool For Specification-Based Testing, Corrigan Redford Johnson
Master's Theses
This thesis presents a tool for SPEcification based teSTing (SPEST). SPEST is designed to use well known practices for automated black-box testing to reduce the burden of testing on developers. The tool uses a simple formal specification language to generate highly-readable unit tests that embody best practices for thorough software testing. Because the specification language used to generate the assertions about the code can be compiled, it can also be used to ensure that documentation describing the code is maintained during development and refactoring.
The utility and effectiveness of SPEST were validated through several exper- iments conducted with students in …
Data Persistence In Eiffel, Jimmy J. Johnson
Data Persistence In Eiffel, Jimmy J. Johnson
Theses and Dissertations--Computer Science
This dissertation describes an extension to the Eiffel programming language that provides automatic object persistence (the ability of programs to store objects and later recreate those objects in a subsequent execution of a program). The mechanism is orthogonal to other aspects of the Eiffel language. The mechanism serves four main purposes: 1) it gives Eiffel programmers a needed service, filling a gap between serialization, which provides limited persistence functions and database-mapping, which is cumbersome to use; 2) it greatly reduces the coding burden incurred by the programmer when objects must persist, allowing the programmer to focus instead on the business …
Srcmx: A Gui Application For Srcml, Brian Kovacs
Srcmx: A Gui Application For Srcml, Brian Kovacs
Williams Honors College, Honors Research Projects
srcMX is a GUI application that utilizes the srcML command-line tool to convert and display source code using the srcML format. The goal is for srcMX to promote the manipulation and exploration of source code using srcML. I also hope that the user-friendly nature inherent to GUI applications allows srcMX to introduce a larger audience to the many features offered by srcML. The application is written in C++ using the Qt and Qt Quick frameworks.
Tango: A Spanish-Based Programming Language, Ashley Zegiestowsky
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 …