Open Access. Powered by Scholars. Published by Universities.®
Physical Sciences and Mathematics Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Discipline
-
- Computer Sciences (56)
- Programming Languages and Compilers (33)
- Software Engineering (18)
- Education (4)
- OS and Networks (3)
-
- Science and Mathematics Education (3)
- Theory and Algorithms (3)
- Databases and Information Systems (2)
- Engineering (2)
- Graphics and Human Computer Interfaces (2)
- Numerical Analysis and Scientific Computing (2)
- Other Computer Sciences (2)
- Aerospace Engineering (1)
- Biological Phenomena, Cell Phenomena, and Immunity (1)
- Computer Engineering (1)
- First and Second Language Acquisition (1)
- Linguistics (1)
- Medical Sciences (1)
- Medicine and Health Sciences (1)
- Operations Research, Systems Engineering and Industrial Engineering (1)
- Physics (1)
- Social and Behavioral Sciences (1)
- Systems Engineering (1)
- Typological Linguistics and Linguistic Diversity (1)
- Institution
-
- City University of New York (CUNY) (9)
- Selected Works (7)
- Syracuse University (7)
- Chapman University (5)
- Fordham University (3)
-
- Brigham Young University (2)
- Loyola University Chicago (2)
- Sacred Heart University (2)
- University of Massachusetts Amherst (2)
- University of Nebraska at Omaha (2)
- University of South Florida (2)
- Claremont Colleges (1)
- Clemson University (1)
- Nova Southeastern University (1)
- Oberlin (1)
- Old Dominion University (1)
- Singapore Management University (1)
- Smith College (1)
- Swarthmore College (1)
- The University of Maine (1)
- Touro College and University System (1)
- University of Central Florida (1)
- University of Dayton (1)
- University of Nevada, Las Vegas (1)
- University of Vermont (1)
- University of Wollongong (1)
- Wayne State University (1)
- Publication Year
- Publication
-
- Open Educational Resources (8)
- College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects (4)
- Mathematics, Physics, and Computer Science Faculty Articles and Research (4)
- Faculty Publications (3)
- Doctoral Dissertations (2)
-
- Electrical Engineering and Computer Science - Technical Reports (2)
- School of Computer Science & Engineering Faculty Publications (2)
- Theses and Dissertations (2)
- USF Tampa Graduate Theses and Dissertations (2)
- All Dissertations (1)
- All HMC Faculty Publications and Research (1)
- CCE Theses and Dissertations (1)
- Computer Science Faculty Books and Monographs (1)
- Computer Science Faculty Publications (1)
- Computer Science: Faculty Publications (1)
- Computer Science: Faculty Publications and Other Works (1)
- David LO (1)
- Dr Ian Piper (1)
- Electronic Theses and Dissertations (1)
- Emerging Technologies Laboratory (1)
- Faculty Books and Monographs (1)
- Faculty Publications & Research of the TUC College of Osteopathic Medicine (1)
- Faculty of Informatics - Papers (Archive) (1)
- George K. Thiruvathukal (1)
- Graduate College Dissertations and Theses (1)
- Honors Papers (1)
- Human Biology Open Access Pre-Prints (1)
- Konstantin Läufer (1)
- Mathematics, Physics, and Computer Science Faculty Books and Book Chapters (1)
- Mechanical & Aerospace Engineering Faculty Publications (1)
- Publication Type
Articles 1 - 30 of 59
Full-Text Articles in Physical Sciences and Mathematics
Development Of A Biaxial Apparatus For Jamming Profiles Of Photoelastic Granular Media, H. Zheng, G. Dai, Cacey Stevens Bester, M. Wang, D. Wang
Development Of A Biaxial Apparatus For Jamming Profiles Of Photoelastic Granular Media, H. Zheng, G. Dai, Cacey Stevens Bester, M. Wang, D. Wang
Physics & Astronomy Faculty Works
We describe a two-dimensional biaxial apparatus that is used to conduct the experimental study of the jamming of granular media. The setup is designed based on the photoelastic imaging technique, which allows us to detect force-bearing contacts among particles, calculate the pressure on each particle according to the mean squared intensity gradient method, and compute contact forces on each particle [T. S. Majmudar and R. P. Behringer, Nature 435, 1079–1082 (2005)]. Particles float in a density-matched solution to avoid basal friction during experiments. We can compress (uniaxially or biaxially) or shear the granular system by an entangled comb geometry by …
Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi T. Khatchadourian
Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Introduction, Raffi T. Khatchadourian
Introduction, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Reengineering And Refactoring, Raffi T. Khatchadourian
Reengineering And Refactoring, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Wala Quick Start, Raffi T. Khatchadourian
Wala Quick Start, Raffi T. Khatchadourian
Open Educational Resources
Setting up and trying the TJ Watson Library for Analysis (WALA).
Building An Ast Eclipse Plug-In, Raffi T. Khatchadourian
Building An Ast Eclipse Plug-In, Raffi T. Khatchadourian
Open Educational Resources
Complete the Building an AST Eclipse Plug-in assignment. Once it works, find a medium-sized open-source Java project to run your plugin on. You may want to explore GitHub. Import the project into Eclipse and run your plug-in on it. Report on the following, which may require you to change some of the source code so that it is convenient:
- Project name.
- Project URL.
- Project description.
- The number of classes in the project.
- The number of user-defined methods in the project.
- For each class, the number of method calls.
- Statistics about the method calls:
- The total number of method calls …
Working With Control-Flow Graphs, Raffi T. Khatchadourian
Working With Control-Flow Graphs, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Model Based Systems Engineering With A Docs-As-Code Approach For The Sealion Cubesat Project, Kevin Chiu, Sean Marquez, Sharanabasaweshwara Asundi
Model Based Systems Engineering With A Docs-As-Code Approach For The Sealion Cubesat Project, Kevin Chiu, Sean Marquez, Sharanabasaweshwara Asundi
Mechanical & Aerospace Engineering Faculty Publications
The SeaLion mission architecture team sought to create a model-based systems engineering approach to assist improving CubeSat success rates as well as for the SeaLion CubeSat project to guide an implementation for the flight software. This is important because university CubeSat teams are growing in number but often have untrained students as their core personnel. This was done using a document-as-code, or docs-as-code, approach. With this the team created tools for the systems architecture with the Mach 30 Modeling Language to create an architecture that is easy to learn and use even for newly admitted team members with little to …
Jiapi: A Type Checker Generator For Statically Typed Languages, Benjamin Cisneros Merino
Jiapi: A Type Checker Generator For Statically Typed Languages, Benjamin Cisneros Merino
UNLV Theses, Dissertations, Professional Papers, and Capstones
Type systems are a key characteristic in the context of the study of programming languages. They frequently offer a simple, intuitive way of expressing and testing the fundamental structure of programs. This is especially true when types are used to provide formal, machine-checked documentation for an implementation. For example, the absence of type errors in code prior to execution is what type systems for static programming languages are designed to assure, and in the literature, type systems that satisfy this requirement are referred to as sound type systems. Types also define module interfaces, making them essential for achieving and maintaining …
Eclipse, Osgi, And The Java Model, Raffi T. Khatchadourian
Eclipse, Osgi, And The Java Model, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Abstract Syntax Trees (Asts) And The Visitor Pattern, Raffi T. Khatchadourian
Abstract Syntax Trees (Asts) And The Visitor Pattern, Raffi T. Khatchadourian
Open Educational Resources
No abstract provided.
Error Handling Approaches In Programming Languages, Joey Aldrin Rees-Hill
Error Handling Approaches In Programming Languages, Joey Aldrin Rees-Hill
Honors Papers
Error handling is a part of nearly every computer program, but it is rarely the main focus of a program's developers. Nevertheless, correct error handling is important because it can enable a program to recover from abnormal circumstances and continue to function and serve its purpose. Programming languages offer a variety of tools and approaches for programs to detect and handle errors. I investigated the different approaches to error handling in contemporary programming languages. I found three general paradigms of error handling approaches. One paradigm was Special Return Value, in which certain return values of a function signify that an …
Language-Based Analysis Of Differential Privacy, Chukwunweike Abuah
Language-Based Analysis Of Differential Privacy, Chukwunweike Abuah
Graduate College Dissertations and Theses
Differential privacy (Dwork, 2006; Dwork et al., 2006a) has achieved prominence over the past decade as a rigorous formal foundation upon which diverse tools and mechanisms for performing private data analysis can be built. The guarantee of differential privacy is that it protects privacy at the individual level: if the result of a differentially private query or operation on a dataset is publicly released, any individual present in that dataset can claim plausible deniability. This means that any participating individual can deny the presence of their information in the dataset based on the query result, because differentially private queries introduce …
Composition Of Atomic-Obligation Security Policies, Danielle Ferguson
Composition Of Atomic-Obligation Security Policies, Danielle Ferguson
USF Tampa Graduate Theses and Dissertations
There has been significant work to date on policy-specification languages that allow specification of arbitrary obligations, but there continues to exist open challenges in the composition of these arbitrary obligations, especially when obligations can be complex (i.e. consist more than one action). There are currently no solutions that allow complete and automatic resolution of conflicts between policies and other policies' obligations or that allow policies to react to the complex obligations of other policies. In particular, there is minimal work that considers the benefits and challenges of allowing complex obligations that operate in an atomic fashion, that is that execute …
Towards Lakosian Multilingual Software Design Principles, Damian Lyons, Saba Zahra, Thomas Marshall
Towards Lakosian Multilingual Software Design Principles, Damian Lyons, Saba Zahra, Thomas Marshall
Faculty Publications
Large software systems often comprise programs written in different programming languages. In the case when cross-language interoperability is accomplished with a Foreign Function Interface (FFI), for example pybind11, Boost.Python, Emscripten, PyV8, or JNI, among many others, common software engineering tools, such as call-graph analysis, are obstructed by the opacity of the FFI. This complicates debugging and fosters potential inefficiency and security problems. One contributing issue is that there is little rigorous software design advice for multilingual software. In this paper, we present our progress towards a more rigorous design approach to multilingual software. The approach is based on the existing …
Gamespect: A Composition Framework And Meta-Level Domain Specific Aspect Language For Unreal Engine 4, Benjamin Jay Geisler
Gamespect: A Composition Framework And Meta-Level Domain Specific Aspect Language For Unreal Engine 4, Benjamin Jay Geisler
CCE Theses and Dissertations
Game engine programming involves a great number of software components, many of which perform similar tasks; for example, memory allocation must take place in the renderer as well as in the creation routines while other tasks such as error logging must take place everywhere. One area of all games which is critical to the success of the game is that of game balance and tuning. These balancing initiatives cut across all areas of code from the player and AI to the mission manager. In computer science, we’ve come to call these types of concerns “cross cutting”. Aspect oriented programming was …
Righting Web Development, John Vilk
Righting Web Development, John Vilk
Doctoral Dissertations
The web browser is the most important application runtime today, encompassing all types of applications on practically every Internet-connected device. Browsers power complete office suites, media players, games, and augmented and virtual reality experiences, and they integrate with cameras, microphones, GPSes, and other sensors available on computing devices. Many apparently native mobile and desktop applications are secretly hybrid apps that contain a mix of native and browser code. History has shown that when new devices, sensors, and experiences appear on the market, the browser will evolve to support them. Despite the browser's importance, developing web applications is exceedingly difficult. Web …
Lightweight Call-Graph Construction For Multilingual Software Analysis, Anne-Marie Bogar, Damian Lyons, David Baird
Lightweight Call-Graph Construction For Multilingual Software Analysis, Anne-Marie Bogar, Damian Lyons, David Baird
Faculty Publications
Analysis of multilingual codebases is a topic of increasing importance. In prior work, we have proposed the MLSA (MultiLingual Software Analysis) architecture, an approach to the lightweight analysis of multilingual codebases, and have shown how it can be used to address the challenge of constructing a single call graph from multilingual software with mutual calls. This paper addresses the challenge of constructing monolingual call graphs in a lightweight manner (consistent with the objective of MLSA) which nonetheless yields sufficient information for resolving language interoperability calls. A novel approach is proposed which leverages information from …
Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird
Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird
Faculty Publications
Developer preferences, language capabilities and the persistence of older languages contribute to the trend that large software codebases are often multilingual – that is, written in more than one computer language. While developers can leverage monolingual software development tools to build software components, companies are faced with the problem of managing the resultant large, multilingual codebases to address issues with security, efficiency, and quality metrics. The key challenge is to address the opaque nature of the language interoperability interface: one language calling procedures in a second (which may call a third, or even back to the first), resulting in a …
Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis
Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis
Konstantin Läufer
Various hybrid-functional languages, designed to balance compile-time error detection, conciseness, and performance, have emerged. Scala, e.g., is interoperable with Java and has become an early leader in adoption, especially in the start-up and open-source spaces. As educators, we have recognized Scala’s value as a teaching language across the CS curriculum. In CS1, the read-eval-print loop and simple, uniform syntax aid programming in the small. In CS2, higher-order methods allow concise, efficient manipulation of collections. In a programming languages course, advanced constructs facilitate the separation of concerns, program representation and interpretation, and concurrent programming. In advanced applied courses, language mechanisms and …
Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis
Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis
George K. Thiruvathukal
Various hybrid-functional languages, designed to balance compile-time error detection, conciseness, and performance, have emerged. Scala, e.g., is interoperable with Java and has become an early leader in adoption, especially in the start-up and open-source spaces. As educators, we have recognized Scala’s value as a teaching language across the CS curriculum. In CS1, the read-eval-print loop and simple, uniform syntax aid programming in the small. In CS2, higher-order methods allow concise, efficient manipulation of collections. In a programming languages course, advanced constructs facilitate the separation of concerns, program representation and interpretation, and concurrent programming. In advanced applied courses, language mechanisms and …
Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara
Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara
Publications and Research
Java 8 default methods, which allow interfaces to contain (instance) method implementations, are useful for the skeletal implementation software design pattern. However, it is not easy to transform existing software to exploit default methods as it 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 to preserve type-correctness and confirm semantics preservation. In this paper, we present an efficient, fully-automated, type constraint-based refactoring approach that assists developers in taking advantage of enhanced interfaces for their legacy Java software. The approach features an extensive …
Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis
Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis
Emerging Technologies Laboratory
Various hybrid-functional languages, designed to balance compile-time error detection, conciseness, and performance, have emerged. Scala, e.g., is interoperable with Java and has become an early leader in adoption, especially in the start-up and open-source spaces.
As educators, we have recognized Scala’s value as a teaching language across the CS curriculum. In CS1, the read-eval-print loop and simple, uniform syntax aid programming in the small. In CS2, higher-order methods allow concise, efficient manipulation of collections. In a programming languages course, advanced constructs facilitate the separation of concerns, program representation and interpretation, and concurrent programming. In advanced applied courses, language mechanisms and …
Visualizing Morphogenesis With The Processing Programming Language, Avik Patel, Amar Bains, Richard Millet, Tamira Elul
Visualizing Morphogenesis With The Processing Programming Language, Avik Patel, Amar Bains, Richard Millet, Tamira Elul
Faculty Publications & Research of the TUC College of Osteopathic Medicine
We used Processing, a visual artists’ programming language developed at MIT Media Lab, to simulate cellular mechanisms of morphogenesis – the generation of form and shape in embryonic tissues. Based on observations of in vivo time-lapse image sequences, we created animations of neural cell motility responsible for elongating the spinal cord, and of optic axon branching dynamics that establish primary visual connectivity. These visual models underscore the significance of the computational decomposition of cellular dynamics underlying morphogenesis.
A Cultural Diffusion Model For The Rise And Fall Of Programming Languages, Sergi Valverde, Ricard V. Solé
A Cultural Diffusion Model For The Rise And Fall Of Programming Languages, Sergi Valverde, Ricard V. Solé
Human Biology Open Access Pre-Prints
Our interaction with complex computing machines is mediated by programming languages (PLs) which constitute one of the major innovations in the evolution of technology. PLs allowed a flexible, scalable and fast use of hardware and are largely responsible for shaping the history of information technology since the rise of computers in the 1950s. The rapid growth and impact of computers was followed closely by the development of programming languages. As it occurs with natural, human languages, they emerged and got extinct. There has been always a diversity of coexisting PLs that somewhat compete among them, while occupying special niches. Here …
The Partial Evaluation Approach To Information Personalization, Naren Ramakrishnan, Saverio Perugini
The Partial Evaluation Approach To Information Personalization, Naren Ramakrishnan, Saverio Perugini
Saverio Perugini
Information personalization refers to the automatic adjustment of information content, structure, and presentation tailored to an individual user. By reducing information overload and customizing information access, personalization systems have emerged as an important segment of the Internet economy. This paper presents a systematic modeling methodology— PIPE (‘Personalization is Partial Evaluation’) — for personalization. Personalization systems are designed and implemented in PIPE by modeling an information-seeking interaction in a programmatic representation. The representation supports the description of information-seeking activities as partial information and their subsequent realization by partial evaluation, a technique for specializing programs. We describe the modeling methodology at a …
Subtyping With Generics: A Unified Approach, John G. Altidor
Subtyping With Generics: A Unified Approach, John G. Altidor
Doctoral Dissertations
Reusable software increases programmers' productivity and reduces repetitive code and software bugs. Variance is a key programming language mechanism for writing reusable software. Variance is concerned with the interplay of parametric polymorphism (i.e., templates, generics) and subtype (inclusion) polymorphism. Parametric polymorphism enables programmers to write abstract types and is known to enhance the readability, maintainability, and reliability of programs. Subtyping promotes software reuse by allowing code to be applied to a larger set of terms. Integrating parametric and subtype polymorphism while maintaining type safety is a difficult problem. Existing variance mechanisms enable greater subtyping between parametric types, but they suffer …
Popularity, Interoperability, And Impact Of Programming Languages In 100,000 Open Source Projects, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère
Popularity, Interoperability, And Impact Of Programming Languages In 100,000 Open Source Projects, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère
David LO
Programming languages have been proposed even before the era of the modern computer. As years have gone, computer resources have increased and application domains have expanded, leading to the proliferation of hundreds of programming languages, each attempting to improve over others or to address new programming paradigms. These languages range from procedural languages like C, object oriented languages like Java, and functional languages such as ML and Haskell. Unfortunately, there is a lack of large scale and comprehensive studies that examine the “popularity”, “interoperability”, and “impact” of various programming languages. To fill this gap, this study investigates a hundred thousands …
A Model Of Data Structures Commonly Used In Programming Languages And Data Base Management Systems, William L. Honig
A Model Of Data Structures Commonly Used In Programming Languages And Data Base Management Systems, William L. Honig
William L Honig
This thesis claims that contemporary data structures can be understood and studied with an intelligible model which captures their essential differences and similarities and, further, that such a model is an appropriate basis for a top-down description method for data structures. To define the scope of the model, the data structures included in 21 programming languages and data base management systems have been tabulated. Each individual data structure is illustrated with an example drawn from a published paper or a working computer program. This mélange of data structures is divided into three classes (aggregates, associations , and files) and each …
Popularity, Interoperability, And Impact Of Programming Languages In 100,000 Open Source Projects, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère
Popularity, Interoperability, And Impact Of Programming Languages In 100,000 Open Source Projects, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère
Research Collection School Of Computing and Information Systems
Programming languages have been proposed even before the era of the modern computer. As years have gone, computer resources have increased and application domains have expanded, leading to the proliferation of hundreds of programming languages, each attempting to improve over others or to address new programming paradigms. These languages range from procedural languages like C, object oriented languages like Java, and functional languages such as ML and Haskell. Unfortunately, there is a lack of large scale and comprehensive studies that examine the “popularity”, “interoperability”, and “impact” of various programming languages. To fill this gap, this study investigates a hundred thousands …