Open Access. Powered by Scholars. Published by Universities.®
Programming Languages and Compilers Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Institution
-
- Singapore Management University (198)
- City University of New York (CUNY) (63)
- Chapman University (17)
- Loyola University Chicago (13)
- University of Dayton (13)
-
- Portland State University (10)
- University of Texas at El Paso (8)
- California Polytechnic State University, San Luis Obispo (7)
- Old Dominion University (7)
- University of Malaya (7)
- San Jose State University (5)
- California State University, San Bernardino (4)
- Technological University Dublin (4)
- The University of Akron (4)
- University of Arkansas, Fayetteville (4)
- Fordham University (3)
- Montclair State University (3)
- Purdue University (3)
- St. Mary's University (3)
- University of Nevada, Las Vegas (3)
- Brigham Young University (2)
- Dakota State University (2)
- Embry-Riddle Aeronautical University (2)
- Fort Hays State University (2)
- Kennesaw State University (2)
- LSU New Orleans (2)
- Liberty University (2)
- Minnesota State University Moorhead (2)
- Southern Adventist University (2)
- Southern Methodist University (2)
- Keyword
-
- Refactoring (25)
- Software engineering (25)
- Model Check (22)
- Java (19)
- Programming (16)
-
- Programming languages (16)
- Deep learning (14)
- Java 8 (12)
- Linear Temporal Logic (10)
- Software Engineering (10)
- Static analysis (10)
- Empirical studies (9)
- Python (9)
- Computer science (8)
- Default methods (8)
- Imperative programs (8)
- Label Transition System (8)
- Software (8)
- Software evolution (8)
- Software maintenance (8)
- Streams (8)
- Computational thinking (7)
- Computer Science (7)
- Empirical study (7)
- Automated refactoring (6)
- Large language models (6)
- Operational Semantic (6)
- Software tools (6)
- Typestate analysis (6)
- Android (5)
- Publication Year
- Publication
-
- Research Collection School Of Computing and Information Systems (184)
- Publications and Research (51)
- Journal of Computer Science Integration (16)
- Computer Science Faculty Publications (13)
- Computer Science: Faculty Publications and Other Works (12)
-
- Open Educational Resources (9)
- Computer Science Faculty Publications and Presentations (8)
- Departmental Technical Reports (CS) (8)
- Dissertations and Theses Collection (Open Access) (8)
- Student Works (2000-2009) (7)
- Dissertations and Theses Collection (5)
- Master's Theses (5)
- Faculty Publications (4)
- Williams Honors College, Honors Research Projects (4)
- Computer Science Theses & Dissertations (3)
- Department of Computer Science Faculty Scholarship and Creative Works (3)
- Electrical & Computer Engineering Theses & Dissertations (3)
- Electronic Theses, Projects, and Dissertations (3)
- Master's Projects (3)
- Articles (2)
- Computer Engineering (2)
- Computer Science and Computer Engineering Undergraduate Honors Theses (2)
- Department of Electrical and Computer Engineering Faculty Publications (2)
- Faculty Articles (2)
- Graduate Theses and Dissertations (2)
- Honors Scholar Theses (2)
- LSU New Orleans Theses and Dissertations (2)
- Research & Publications (2)
- Senior Honors Theses (2)
- Student Academic Conference (2)
- Publication Type
- File Type
Articles 271 - 300 of 435
Full-Text Articles in Programming Languages and Compilers
A Reflection On Types, Simon. Peyton Jones, Stephanie Weirich, Richard A. Eisenberg, Dimitrios Vytiniotis
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
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
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 β¦
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 β¦
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 β¦
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.
Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian
Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian
Publications and Research
Modern Java languages introduce several new features that offer significant improvements over older Java technology. In this article we consider the new enum construct, which provides language support for enumerated types. Prior to recent Java languages, programmers needed to employ various patterns (e.g., the weak enum pattern) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. We present a novel fully-automated approach for transforming legacy Java code to use the new enumeration construct. This semantics-preserving approach increases type safety, produces code that is β¦
Toward Unification Of Explicit And Implicit Invocation-Style Programming, Yoonsik Cheon
Toward Unification Of Explicit And Implicit Invocation-Style Programming, Yoonsik Cheon
Departmental Technical Reports (CS)
Subprograms like procedures and methods can be invoked explicitly or implicitly; in implicit invocation, an event implicitly causes the invocation of subprograms that are registered an interest in the event. Mixing these two styles is common in programming and often unavoidable in developing such software as GUI applications and event-based control systems. However, it isn't also uncommon for the mixed use to complicate programming logic and thus produce unclean code, code that is hard to read and understand. We show, through a small but realistic example, that the problem is not much on mixing two different styles itself but more β¦
A Systematic Derivation Of Loop Specifications Using Patterns, Aditi Barua, Yoonsik Cheon
A Systematic Derivation Of Loop Specifications Using Patterns, Aditi Barua, Yoonsik Cheon
Departmental Technical Reports (CS)
Any non-trivial program contains loop control structures such as while, for and do statements. A formal correctness proof of code containing loop control structures is typically performed using an induction-based technique, and oftentimes the most challenging step of an inductive proof is formulating a correct induction hypothesis. An incorrectly-formulated induction hypothesis will surely lead to a failure of the proof. In this paper we propose a systematic approach for formulating and driving specifications of loop control structures for formal analysis and verification of programs. We explain our approach using while loops and a functional program verification technique in which a β¦
An Immersive Telepresence System Using Rgb-D Sensors And Head-Mounted Display, Xinzhong Lu, Ju Shen, Saverio Perugini, Jianjun Yang
An Immersive Telepresence System Using Rgb-D Sensors And Head-Mounted Display, Xinzhong Lu, Ju Shen, Saverio Perugini, Jianjun Yang
Computer Science Faculty Publications
We present a tele-immersive system that enables people to interact with each other in a virtual world using body gestures in addition to verbal communication. Beyond the obvious applications, including general online conversations and gaming, we hypothesize that our proposed system would be particularly beneficial to education by offering rich visual contents and interactivity. One distinct feature is the integration of egocentric pose recognition that allows participants to use their gestures to demonstrate and manipulate virtual objects simultaneously. This functionality enables the instructor to effectively and efficiently explain and illustrate complex concepts or sophisticated problems in an intuitive manner. The β¦
Detecting Broken Pointcuts Using Structural Commonality And Degree Of Interest, Raffi Khatchadourian, Awais Rashd, Hidehiko Masuhara, Takuya Watanabe
Detecting Broken Pointcuts Using Structural Commonality And Degree Of Interest, Raffi Khatchadourian, Awais Rashd, Hidehiko Masuhara, Takuya Watanabe
Publications and Research
Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base code can lead to join points incorrectly falling in or out of the scope of pointcuts. Deciding which pointcuts have broken due to base-code changes is daunting, especially in large and complex systems. We present an automated approach that recommends pointcuts that are likely to require modification due to a certain base-code change and ones that do not. Our hypothesis is that join points selected by a pointcut exhibit common structural characteristics. Patterns describing such commonalities recommend pointcuts that have potentially broken to the developer. The approach β¦
Codehow: Effective Code Search Based On Api Understanding And Extended Boolean Model (E), Fei Lv, Jian-Guang Lou, Shaowei Wang, Dongmei Zhang, Jainjun Zhao
Codehow: Effective Code Search Based On Api Understanding And Extended Boolean Model (E), Fei Lv, Jian-Guang Lou, Shaowei Wang, Dongmei Zhang, Jainjun Zhao
Research Collection School Of Computing and Information Systems
Over the years of software development, a vast amount of source code has been accumulated. Many code search tools were proposed to help programmers reuse previously-written code by performing free-text queries over a large-scale codebase. Our experience shows that the accuracy of these code search tools are often unsatisfactory. One major reason is that existing tools lack of query understanding ability. In this paper, we propose CodeHow, a code search technique that can recognize potential APIs a user query refers to. Having understood the potentially relevant APIs, CodeHow expands the query with the APIs and performs code retrieval by applying β¦
Challenges In Analyzing Software Documentation In Portuguese, Christoph Treude, Carlos A. Prolo, Fernando Figueira Filho
Challenges In Analyzing Software Documentation In Portuguese, Christoph Treude, Carlos A. Prolo, Fernando Figueira Filho
Research Collection School Of Computing and Information Systems
Many tools that automatically analyze, summarize, or transform software artifacts rely on natural language processing tooling for the interpretation of natural language text produced by software developers, such as documentation, code comments, commit messages, or bug reports. Processing natural language text produced by software developers is challenging because of unique characteristics not found in other texts, such as the presence of code terms and the systematic use of incomplete sentences. In addition, texts produced by Portuguese-speaking developers mix languages since many keywords and programming concepts are referred to by their English name. In this paper, we provide empirical insights into β¦
Porting The Netbeans Java 8 Enhanced For Loop Lambda Expression Refactoring To Eclipse, Md Arefin, Raffi Khatchadourian
Porting The Netbeans Java 8 Enhanced For Loop Lambda Expression Refactoring To Eclipse, Md Arefin, Raffi Khatchadourian
Publications and Research
Java 8 is one of the largest upgrades to the popular language and framework in over a decade. However, the Eclipse IDE is missing several key refactorings that could help developers take advantage of new features in Java 8 more easily. In this paper, we discuss our ongoing work in porting the enhanced for loop to lambda expression refactoring from the NetBeans IDE to Eclipse. We also discuss future plans for new Java 8 refactorings not found in any current IDE.
Contract-Based General-Purpose Gpu Programming, Alexey Kolesnichenko, Christopher M. Poskitt, Sebastian Nanz, Bertrand Meyer
Contract-Based General-Purpose Gpu Programming, Alexey Kolesnichenko, Christopher M. Poskitt, Sebastian Nanz, Bertrand Meyer
Research Collection School Of Computing and Information Systems
Using GPUs as general-purpose processors has revolutionized parallel computing by offering, for a large and growing set of algorithms, massive data-parallelization on desktop machines. An obstacle to widespread adoption, however, is the difficulty of programming them and the low-level control of the hardware required to achieve good performance. This paper suggests a programming library, SafeGPU, that aims at striking a balance between programmer productivity and performance, by making GPU data-parallel operations accessible from within a classical object-oriented programming language. The solution is integrated with the design-by-contract approach, which increases confidence in functional program correctness by embedding executable program specifications into β¦
Porting The Netbeans Java 8 Enhanced For Loop Lambda Expression Refactoring To Eclipse, Md Arefin, Raffi Khatchadourian
Porting The Netbeans Java 8 Enhanced For Loop Lambda Expression Refactoring To Eclipse, Md Arefin, Raffi Khatchadourian
Publications and Research
Java 8 is one of the largest upgrades to the popular language and framework in over a decade. However, the Eclipse IDE is missing several key refactorings that could help developers take advantage of new features in Java 8 more easily. In this paper, we discuss our ongoing work in porting the enhanced for loop to lambda expression refactoring from the NetBeans IDE to Eclipse. We also discuss future plans for new Java 8 refactorings not found in any current IDE.
Fraglight: Shedding Light On Broken Pointcuts In Evolving Aspect-Oriented Software, Raffi Khatchadourian, Awais Rashid, Hidehiko Masuhara, Takuya Watanabe
Fraglight: Shedding Light On Broken Pointcuts In Evolving Aspect-Oriented Software, Raffi Khatchadourian, Awais Rashid, Hidehiko Masuhara, Takuya Watanabe
Publications and Research
Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base code can lead to join points incorrectly falling in or out of the scope of pointcuts. Deciding which pointcuts have broken due to base-code changes is daunting, especially in large and complex systems. We demonstrate an automated tool called FRAGLIGHT that recommends a set of pointcuts that are likely to require modification due to a certain base-code change. The underlying approach is rooted in harnessing unique and arbitrarily deep structural commonality between program elements corresponding to join points selected by a pointcut in a particular software version. β¦
Memes As Building Blocks: A Case Study On Evolutionary Optimization + Transfer Learning For Routing Problems, Liang Feng, Yew-Soon Ong, Ah-Hwee Tan, Ivor W. Tsang
Memes As Building Blocks: A Case Study On Evolutionary Optimization + Transfer Learning For Routing Problems, Liang Feng, Yew-Soon Ong, Ah-Hwee Tan, Ivor W. Tsang
Research Collection School Of Computing and Information Systems
A significantly under-explored area of evolutionary optimization in the literature is the study of optimization methodologies that can evolve along with the problems solved. Particularly, present evolutionary optimization approaches generally start their search from scratch or the ground-zero state of knowledge, independent of how similar the given new problem of interest is to those optimized previously. There has thus been the apparent lack of automated knowledge transfers and reuse across problems. Taking this cue, this paper presents a Memetic Computational Paradigm based on Evolutionary Optimization + Transfer Learning for search, one that models how human solves problems, and embarks on β¦
Detection And Classification Of Malicious Javascript Via Attack Behavior Modelling, Yinxing Xue, Junjie Wang, Yang Liu, Hao Xiao, Jun Sun, Mahinthan Chandramohan
Detection And Classification Of Malicious Javascript Via Attack Behavior Modelling, Yinxing Xue, Junjie Wang, Yang Liu, Hao Xiao, Jun Sun, Mahinthan Chandramohan
Research Collection School Of Computing and Information Systems
Existing malicious JavaScript (JS) detection tools and commercial anti-virus tools mostly use feature-based or signature-based approaches to detect JS malware. These tools are weak in resistance to obfuscation and JS malware variants, not mentioning about providing detailed information of attack behaviors. Such limitations root in the incapability of capturing attack behaviors in these approches. In this paper, we propose to use Deterministic Finite Automaton (DFA) to abstract and summarize common behaviors of malicious JS of the same attack type. We propose an automatic behavior learning framework, named JSβ , to learn DFA from dynamic execution traces of JS malware, where β¦
Automatic Video Self Modeling For Voice Disorder, Ju Shen, Changpeng Ti, Anusha Raghunathan, Sen-Ching S. Cheung, Rita Patel
Automatic Video Self Modeling For Voice Disorder, Ju Shen, Changpeng Ti, Anusha Raghunathan, Sen-Ching S. Cheung, Rita Patel
Computer Science Faculty Publications
Video self modeling (VSM) is a behavioral intervention technique in which a learner models a target behavior by watching a video of him- or herself. In the field of speech language pathology, the approach of VSM has been successfully used for treatment of language in children with Autism and in individuals with fluency disorder of stuttering. Technical challenges remain in creating VSM contents that depict previously unseen behaviors. In this paper, we propose a novel system that synthesizes new video sequences for VSM treatment of patients with voice disorders. Starting with a video recording of a voice-disorder patient, the proposed β¦
Simple Macro: Addon For World Of Warcraft, Yemane Gebreyesus
Simple Macro: Addon For World Of Warcraft, Yemane Gebreyesus
Computer Engineering
This senior project was started to try and solve a problem within World of Warcraft. That particular problem is the underdeveloped default macro interface, which Simple Macro aims to remedy by creating a more user-friendly interface that is accessible by a wider audience. It employs a click through method of accessing and editing data to reduce the amount of typing necessary. The addon also has a feature to specifically help players that want to change a target in certain groups of macros all at once. The project was developed in both Lua and XML.
Verifying Parameterized Timed Security Protocols, Li Li, Jun Sun, Yang Liu, Jin Song Dong
Verifying Parameterized Timed Security Protocols, Li Li, Jun Sun, Yang Liu, Jin Song Dong
Research Collection School Of Computing and Information Systems
Quantitative timing is often explicitly used in systems for better security, e.g., the credentials for automatic website logon often has limited lifetime. Verifying timing relevant security protocols in these systems is very challenging as timing adds another dimension of complexity compared with the untimed protocol verification. In our previous work, we proposed an approach to check the correctness of the timed authentication in security protocols with fixed timing constraints. However, a more difficult question persists, i.e., given a particular protocol design, whether the protocol has security flaws in its design or it can be configured secure with proper parameter values? β¦
Heuristic Collective Learning For Efficient And Robust Emergence Of Social Norms, Jianye Hao, Jun Sun, Dongping Huang, Yi Cai, Chao Yu
Heuristic Collective Learning For Efficient And Robust Emergence Of Social Norms, Jianye Hao, Jun Sun, Dongping Huang, Yi Cai, Chao Yu
Research Collection School Of Computing and Information Systems
In multiagent systems, social norms is a useful technique in regulating agentsβ behaviors to achieve coordination or cooperation among agents. One important research question is to investigate how a desirable social norm can be evolved in a bottom-up manner through local interactions. In this paper, we propose two novel learning strategies under the collective learning framework: collective learning EV-l and collective learning EV-g, to efficiently facilitate the emergence of social norms. Experimental results show that both learning strategies can support the emergence of desirable social norms more efficiently in a much broader range of multiagent interaction scenarios than previous work, β¦
Compression Of Video Tracking And Bandwidth Balancing Routing In Wireless Multimedia Sensor Networks, Yin Wang, Jianjun Yang, Ju Shen, Bryson Payne, Juan Guo, Kun Hua
Compression Of Video Tracking And Bandwidth Balancing Routing In Wireless Multimedia Sensor Networks, Yin Wang, Jianjun Yang, Ju Shen, Bryson Payne, Juan Guo, Kun Hua
Computer Science Faculty Publications
There has been a tremendous growth in multimedia applications over wireless networks. Wireless Multimedia Sensor Networks(WMSNs) have become the premier choice in many research communities and industry. Many state-of-art applications, such as surveillance, traffic monitoring, and remote heath care are essentially video tracking and transmission in WMSNs. The transmission speed is constrained by the big file size of video data and fixed bandwidth allocation in constant routing paths. In this paper, we present a CamShift based algorithm to compress the tracking of videos. Then we propose a bandwidth balancing strategy in which each sensor node is able to dynamically select β¦
Locating Potential Aspect Interference Using Clustering Analysis, Brian Todd Bennett
Locating Potential Aspect Interference Using Clustering Analysis, Brian Todd Bennett
CCAC Theses and Dissertations
Software design continues to evolve from the structured programming paradigm of the 1970s and 1980s and the object-oriented programming (OOP) paradigm of the 1980s and 1990s. The functional decomposition design methodology used in these paradigms reduced the prominence of non-functional requirements, which resulted in scattered and tangled code to address non-functional elements. Aspect-oriented programming (AOP) allowed the removal of crosscutting concerns scattered throughout class code into single modules known as aspects. Aspectization resulted in increased modularity in class code, but introduced new types of problems that did not exist in OOP. One such problem was aspect interference, in which aspects β¦
Design, Programming, And User-Experience, Kaila G. Manca
Design, Programming, And User-Experience, Kaila G. Manca
Honors Scholar Theses
This thesis is a culmination of my individualized major in Human-Computer Interaction. As such, it showcases my knowledge of design, computer engineering, user-experience research, and puts into practice my background in psychology, com- munications, and neuroscience.
I provided full-service design and development for a web application to be used by the Digital Media and Design Department and their students.This process involved several iterations of user-experience research, testing, concepting, branding and strategy, ideation, and design. It lead to two products.
The first product is full-scale development and optimization of the web appli- cation.The web application adheres to best practices. It was β¦
Leading Undergraduate Students To Big Data Generation, Jianjun Yang, Ju Shen
Leading Undergraduate Students To Big Data Generation, Jianjun Yang, Ju Shen
Computer Science Faculty Publications
People are facing a flood of data today. Data are being collected at unprecedented scale in many areas, such as networking, image processing, virtualization, scientific computation, and algorithms. The huge data nowadays are called Big Data. Big data is an all encompassing term for any collection of data sets so large and complex that it becomes difficult to process them using traditional data processing applications. In this article, the authors present a unique way which uses network simulator and tools of image processing to train students abilities to learn, analyze, manipulate, and apply Big Data. Thus they develop students hands-on β¦
Hole Detection And Shape-Free Representation And Double Landmarks Based Geographic Routing In Wireless Sensor Networks, Jianjun Yang, Zongming Fei, Ju Shen
Hole Detection And Shape-Free Representation And Double Landmarks Based Geographic Routing In Wireless Sensor Networks, Jianjun Yang, Zongming Fei, Ju Shen
Computer Science Faculty Publications
In wireless sensor networks, an important issue of geographic routing is βlocal minimumβ problem, which is caused by a βholeβ that blocks the greedy forwarding process. Existing geographic routing algorithms use perimeter routing strategies to find a long detour path when such a situation occurs. To avoid the long detour path, recent research focuses on detecting the hole in advance, then the nodes located on the boundary of the hole advertise the hole information to the nodes near the hole. Hence the long detour path can be avoided in future routing. We propose a heuristic hole detecting algorithm which identifies β¦
The Future Of Ios Development: Evaluating The Swift Programming Language, Garrett Wells
The Future Of Ios Development: Evaluating The Swift Programming Language, Garrett Wells
CMC Senior Theses
Swift is a new programming language developed by Apple for creating iOS and Mac OS X applications. Intended to eventually replace Objective-C as Appleβs language of choice, Swift needs to convince developers to switch over to the new language. Apple has promised that Swift will be faster than Objective-C, as well as offer more modern language features, be very safe, and be easy to learn and use. In this thesis I test these claims by creating an iOS application entirely in Swift as well as benchmarking two different algorithms. I find that while Swift is faster than Objective-C, it does β¦
A Catalog Of While Loop Specification Patterns, Aditi Barua, Yoonsik Cheon
A Catalog Of While Loop Specification Patterns, Aditi Barua, Yoonsik Cheon
Departmental Technical Reports (CS)
This document provides a catalog of while loop patterns along with their skeletal specifications. The specifications are written in a functional form known as intended functions. The catalog can be used to derive specifications of while loops by first matching the loops to the cataloged patterns and then instantiating the skeletal specifications of the matched patterns. Once their specifications are formulated and written, the correctness of while loops can be proved rigorously or formally using the functional program verification technique in which a program is viewed as a mathematical function from one program state to another.