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 211 - 240 of 435
Full-Text Articles in Programming Languages and Compilers
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 …
Stackelberg Security Games: Looking Beyond A Decade Of Success, Arunesh Sinha, Fei Fang, Bo An, Christopher Kiekintveld, Milind Tambe
Stackelberg Security Games: Looking Beyond A Decade Of Success, Arunesh Sinha, Fei Fang, Bo An, Christopher Kiekintveld, Milind Tambe
Research Collection School Of Computing and Information Systems
The Stackelberg Security Game (SSG) model has been immensely influential in security research since it was introduced roughly a decade ago. Furthermore, deployed SSG-based applications are one of most successful examples of game theory applications in the real world. We present a broad survey of recent technical advances in SSG and related literature, and then look to the future by highlighting the new potential applications and open research problems in SSG.
Static Analysis Of Context Leaks In Android Applications, Flavio Toffalini, Jun Sun, Martín Cohoa
Static Analysis Of Context Leaks In Android Applications, Flavio Toffalini, Jun Sun, Martín Cohoa
Research Collection School Of Computing and Information Systems
Android native applications, written in Java and distributed in APK format, are widely used in mobile devices. Their specific pattern of use lets the operating system control the creation and destruction of key resources, such as activities and services (contexts). Programmers are not supposed to interfere with such lifecycle events. Otherwise contexts might be leaked, i.e. they will never be deallocated from memory, or be deallocated too late, leading to memory exhaustion and frozen applications. In practice, it is easy to write incorrect code, which hinders garbage collection of contexts and subsequently leads to context leakage.In this work, we present …
Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson
Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson
Master's Theses
Static analysis tools can aid programmers by reporting potential programming mistakes prior to the execution of a program. Funqual is a static analysis tool that reads C++17 code ``in the wild'' and checks that the function call graph follows a set of rules which can be defined by the user. This sort of analysis can help the programmer to avoid errors such as accidentally calling blocking functions in time-sensitive contexts or accidentally allocating memory in heap-sensitive environments. To accomplish this, we create a type system whereby functions can be given user-defined type qualifiers and where users can define their own …
Poster: Towards Safe Refactoring For Intelligent Parallelization Of Java 8 Streams, Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Syed Ahmed
Poster: Towards Safe Refactoring For Intelligent Parallelization Of Java 8 Streams, Yiming Tang, Raffi 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 towards 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.
Proactive Empirical Assessment Of New Language Feature Adoption Via Automated Refactoring: The Case Of Java 8 Default Methods, Raffi Khatchadourian, Hidehiko Masuhara
Proactive Empirical Assessment Of New Language Feature Adoption Via Automated Refactoring: The Case Of Java 8 Default Methods, Raffi 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 …
Proactive Empirical Assessment Of New Language Feature Adoption Via Automated Refactoring: The Case Of Java 8 Default Methods, Raffi Khatchadourian, Hidehiko Masuhara
Proactive Empirical Assessment Of New Language Feature Adoption Via Automated Refactoring: The Case Of Java 8 Default Methods, Raffi 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 …
A Utp Semantics For Communicating Processes With Shared Variables And Its Formal Encoding In Pvs, Ling Shi, Yongxin Zhao, Yang Liu, Jun Sun, Jin Song Dong, Shengchao Qin
A Utp Semantics For Communicating Processes With Shared Variables And Its Formal Encoding In Pvs, Ling Shi, Yongxin Zhao, Yang Liu, Jun Sun, Jin Song Dong, Shengchao Qin
Research Collection School Of Computing and Information Systems
CSP# (communicating sequential programs) is a modelling language designed for specifying concurrent systems by integrating CSP-like compositional operators with sequential programs updating shared variables. In this work, we define an observation-oriented denotational semantics in an open environment for the CSP# language based on the UTP framework. To deal with shared variables, we lift traditional event-based traces into mixed traces which consist of state-event pairs for recording process behaviours. To capture all possible concurrency behaviours between action/channel-based communications and global shared variables, we construct a comprehensive set of rules on merging traces from processes which run in parallel/interleaving. We also define …
Combined Classifier For Cross-Project Defect Prediction: An Extended Empirical Study, Yun Zhang, David Lo, Xin Xia, Jianling Sun
Combined Classifier For Cross-Project Defect Prediction: An Extended Empirical Study, Yun Zhang, David Lo, Xin Xia, Jianling Sun
Research Collection School Of Computing and Information Systems
To help developers better allocate testing and debugging efforts, many software defect prediction techniques have been proposed in the literature. These techniques can be used to predict classes that are more likely to be buggy based on past history of buggy classes. These techniques work well as long as a sufficient amount of data is available to train a prediction model. However, there is rarely enough training data for new software projects. To deal with this problem, cross-project defect prediction, which transfers a prediction model trained using data from one project to another, has been proposed and is regarded as …
Poster: Towards Safe Refactoring For Intelligent Parallelization Of Java 8 Streams, Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Syed Ahmed
Poster: Towards Safe Refactoring For Intelligent Parallelization Of Java 8 Streams, Yiming Tang, Raffi 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.
Vt-Revolution: Interactive Programming Video Tutorial Authoring And Watching System, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo
Vt-Revolution: Interactive Programming Video Tutorial Authoring And Watching System, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo
Research Collection School Of Computing and Information Systems
Procedural knowledge describes actions and manipulations that are carried out to complete programming tasks. An effective way to document procedural knowledge is programming video tutorials. Existing solutions to adding interactive workflow and elements to programming videos have a dilemma between the level of desired interaction and the efforts required for authoring tutorials. In this work, we tackle this dilemma by designing and building a programming video tutorial authoring system that leverages operating system level instrumentation to log workflow history while tutorial authors are creating programming videos, and the corresponding tutorial watching system that enhances the learning experience of video tutorials …
A Malware Analysis And Artifact Capture Tool, Dallas Wright, Josh Stroschein
A Malware Analysis And Artifact Capture Tool, Dallas Wright, Josh Stroschein
Research & Publications
Malware authors attempt to obfuscate and hide their code in its static and dynamic states. This paper provides a novel approach to aid analysis by intercepting and capturing malware artifacts and providing dynamic control of process flow. Capturing malware artifacts allows an analyst to more quickly and comprehensively understand malware behavior and obfuscation techniques and doing so interactively allows multiple code paths to be explored. The faster that malware can be analyzed the quicker the systems and data compromised by it can be determined and its infection stopped. This research proposes an instantiation of an interactive malware analysis and artifact …
Algorithmic Music Generation For Pedagogy Of Sight Reading, Ryan Stephen Davis
Algorithmic Music Generation For Pedagogy Of Sight Reading, Ryan Stephen Davis
Electronic Theses and Dissertations
Autodeus is the name of the program that has been developed and was designed to aid guitar students in the attainment and betterment of musical notation sight reading skills. Its primary goal is to provide a very flexible tool that has the ability to generate virtually endless types of sight reading exercises at many various skill levels.
A complimentary 2 year-long comprehensive guitar sight-reading course syllabus can be implemented via Autodeus as it is capable of generating all the necessary exercises. It is able to generate these exercises quickly and efficiently through the use of a back tracking algorithm that …
Space Operations In The Suborbital Space Flight Simulator And Mission Control Center: Lessons Learned With Xcor Lynx, Pedro Llanos, Christopher Nguyen, David Williams, Kim O. Chambers, Erik Seedhouse, Robert Davidson
Space Operations In The Suborbital Space Flight Simulator And Mission Control Center: Lessons Learned With Xcor Lynx, Pedro Llanos, Christopher Nguyen, David Williams, Kim O. Chambers, Erik Seedhouse, Robert Davidson
Journal of Aviation/Aerospace Education & Research
This study was conducted to better understand the performance of the XCOR Lynx vehicle. Because the Lynx development was halted, the best knowledge of vehicle dynamics can only be found through simulator flights. X-Plane 10 was chosen for its robust applications and accurate portrayal of dynamics on a vehicle in flight. The Suborbital Space Flight Simulator (SSFS) and Mission Control Center (MCC) were brought to the Applied Aviation Sciences department in fall 2015 at Embry-Riddle Aeronautical University, Daytona Beach campus. This academic and research tool is a department asset capable of providing multiple fields of data about suborbital simulated flights. …
Slade: A Smart Large-Scale Task Decomposer In Crowdsourcing, Yongxin Tong, Lei Chen, Zimu Zhou, H. V. Jagadish, Lidan Shou
Slade: A Smart Large-Scale Task Decomposer In Crowdsourcing, Yongxin Tong, Lei Chen, Zimu Zhou, H. V. Jagadish, Lidan Shou
Research Collection School Of Computing and Information Systems
Crowdsourcing has been shown to be effective in a wide range of applications, and is seeing increasing use. A large-scale crowdsourcing task often consists of thousands or millions of atomic tasks, each of which is usually a simple task such as binary choice or simple voting. To distribute a large-scale crowdsourcing task to limited crowd workers, a common practice is to pack a set of atomic tasks into a task bin and send to a crowd worker in a batch. It is challenging to decompose a large-scale crowdsourcing task and execute batches of atomic tasks, which ensures reliable answers at …
A Restful Framework For Writing, Running, And Evaluating Code In Multiple Academic Settings, Christopher Ban
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 …
What Do Developers Search For On The Web?, Xin Xia, Lingfeng Bao, David Lo, Pavneet Singh Kochhar, Ahmed E. Hassan, Zhenchang Xing
What Do Developers Search For On The Web?, Xin Xia, Lingfeng Bao, David Lo, Pavneet Singh Kochhar, Ahmed E. Hassan, Zhenchang Xing
Research Collection School Of Computing and Information Systems
Developers commonly make use of a web search engine such as Google to locate online resources to improve their productivity. A better understanding of what developers search for could help us understand their behaviors and the problems that they meet during the software development process. Unfortunately, we have a limited understanding of what developers frequently search for and of the search tasks that they often find challenging. To address this gap, we collected search queries from 60 developers, surveyed 235 software engineers from more than 21 countries across five continents. In particular, we asked our survey participants to rate the …
Software Reengineering: Reverse Engineering With Using 4+1 Architectural Views And Forward Engineering With Mvc Architecture, Shane Mueller
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
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 …
A Semantics Comparison Workbench For A Concurrent, Asynchronous, Distributed Programming Language, Claudio Corrodi, Alexander Heußner, Christopher M. Poskitt
A Semantics Comparison Workbench For A Concurrent, Asynchronous, Distributed Programming Language, Claudio Corrodi, Alexander Heußner, Christopher M. Poskitt
Research Collection School Of Computing and Information Systems
A number of high-level languages and libraries have been proposed that offer novel and simple to use abstractions for concurrent, asynchronous, and distributed programming. The execution models that realise them, however, often change over time---whether to improve performance, or to extend them to new language features---potentially affecting behavioural and safety properties of existing programs. This is exemplified by SCOOP, a message-passing approach to concurrent object-oriented programming that has seen multiple changes proposed and implemented, with demonstrable consequences for an idiomatic usage of its core abstraction. We propose a semantics comparison workbench for SCOOP with fully and semi-automatic tools for analysing …
The Impact Of Coverage On Bug Density In A Large Industrial Software Project, Thomas Bach, Artur Andrzejak, Ralf Pannemans, David Lo
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 Computing and Information Systems
Measuring quality of test suites is one of the major challenges of software testing. Code coverage identifies tested and untested parts of code and is frequently used to approximate test suite quality. Multiple previous studies have investigated the relationship between coverage ratio and test suite quality, without a clear consent in the results. In this work we study whether covered code contains a smaller number of future bugs than uncovered code (assuming appropriate scaling). If this correlation holds and bug density is lower in covered code, coverage can be regarded as a meaningful metric to estimate the adequacy of testing. …
On Locating Malicious Code In Piggybacked Android Apps, Li Li, Daoyuan Li, Tegawende F. Bissyande, Jacques Klein, Haipeng Cai, David Lo, Yves Le Traon
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 Computing and Information Systems
To devise efficient approaches and tools for detecting malicious packages in the Android ecosystem, researchers are increasingly required to have a deep understanding of malware. There is thus a need to provide a framework for dissecting malware and locating malicious program fragments within app code in order to build a comprehensive dataset of malicious samples. Towards addressing this need, we propose in this work a tool-based approach called HookRanker, which provides ranked lists of potentially malicious packages based on the way malware behaviour code is triggered. With experiments on a ground truth of piggybacked apps, we are able to automatically …
Defaultification Refactoring: A Tool For Automatically Converting Java Methods To Default, Raffi Khatchadourian, Hidehiko Masuhara
Defaultification Refactoring: A Tool For Automatically Converting Java Methods To Default, Raffi 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 …
Fastshrinkage: Perceptually-Aware Retargeting Toward Mobile Platforms, Zhenguang Liu, Zepeng Wang, Luming Zhang, Rajiv Ratn Shah, Yingjie Xia, Yi Yang, Wei Liu
Fastshrinkage: Perceptually-Aware Retargeting Toward Mobile Platforms, Zhenguang Liu, Zepeng Wang, Luming Zhang, Rajiv Ratn Shah, Yingjie Xia, Yi Yang, Wei Liu
Research Collection School Of Computing and Information Systems
Retargeting aims at adapting an original high-resolution photo/video to a low-resolution screen with an arbitrary aspect ratio. Conventional approaches are generally based on desktop PCs, since the computation might be intolerable for mobile platforms (especially when retargeting videos). Besides, only low-level visual features are exploited typically, whereas human visual perception is not well encoded. In this paper, we propose a novel retargeting framework which fast shrinks photo/video by leveraging human gaze behavior. Specifically, we first derive a geometry-preserved graph ranking algorithm, which efficiently selects a few salient object patches to mimic human gaze shifting path (GSP) when viewing each scenery. …
Joanaudit: A Tool For Auditing Common Injection Vulnerabilities, Julian Thome, Lwin Khin Shar, Domenico Bianculli, Lionel Briand
Joanaudit: A Tool For Auditing Common Injection Vulnerabilities, Julian Thome, Lwin Khin Shar, Domenico Bianculli, Lionel Briand
Research Collection School Of Computing and Information Systems
JoanAudit is a static analysis tool to assist security auditors in auditing Web applications and Web services for common injection vulnerabilities during software development. It automatically identifies parts of the program code that are relevant for security and generates an HTML report to guide security auditors audit the source code in a scalable way. JoanAudit is configured with various security-sensitive input sources and sinks relevant to injection vulnerabilities and standard sanitization procedures that prevent these vulnerabilities. It can also automatically fix some cases of vulnerabilities in source code — cases where inputs are directly used in sinks without any form …
Automated Android Application Permission Recommendation, Lingfeng Bao, David Lo, Xin Xia, Shanping Li
Automated Android Application Permission Recommendation, Lingfeng Bao, David Lo, Xin Xia, Shanping Li
Research Collection School Of Computing and Information Systems
The number of Android applications has increased rapidly as Android is becoming the dominant platform in the smartphone market. Security and privacy are key factors for an Android application to be successful. Android provides a permission mechanism to ensure security and privacy. This permission mechanism requires that developers declare the sensitive resources required by their applications. On installation or during runtime, users are required to agree with the permission request. However, in practice, there are numerous popular permission misuses, despite Android introducing official documents stating how to use these permissions properly. Some data mining techniques (e.g., association rule mining) have …
Code Coverage And Postrelease Defects: A Large-Scale Study On Open Source Projects, Pavneet Singh Kochhar, David Lo, Julia Lawall, Nachiappan Nagappan
Code Coverage And Postrelease Defects: A Large-Scale Study On Open Source Projects, Pavneet Singh Kochhar, David Lo, Julia Lawall, Nachiappan Nagappan
Research Collection School Of Computing and Information Systems
Testing is a pivotal activity in ensuring the quality of software. Code coverage is a common metric used as a yardstick to measure the efficacy and adequacy of testing. However, does higher coverage actually lead to a decline in postrelease bugs? Do files that have higher test coverage actually have fewer bug reports? The direct relationship between code coverage and actual bug reports has not yet been analyzed via a comprehensive empirical study on real bugs. Past studies only involve a few software systems or artificially injected bugs (mutants). In this empirical study, we examine these questions in the context …
Loopster: Static Loop Termination Analysis, Xiaofei Xie, Bihuan Chen, Liang Zou, Shang-Wei Lin, Yang Liu, Xiaohong Li
Loopster: Static Loop Termination Analysis, Xiaofei Xie, Bihuan Chen, Liang Zou, Shang-Wei Lin, Yang Liu, Xiaohong Li
Research Collection School Of Computing and Information Systems
Loop termination is an important problem for proving the correctness of a system and ensuring that the system always reacts. Existing loop termination analysis techniques mainly depend on the synthesis of ranking functions, which is often expensive. In this paper, we present a novel approach, named Loopster, which performs an efficient static analysis to decide the termination for loops based on path termination analysis and path dependency reasoning. Loopster adopts a divide-and-conquer approach: (1) we extract individual paths from a target multi-path loop and analyze the termination of each path, (2) analyze the dependencies between each two paths, and then …
Ancr—An Adaptive Network Coding Routing Scheme For Wsns With Different-Success-Rate Links †, Xiang Ji, Anwen Wang, Chunyu Li, Chun Ma, Yao Peng, Dajin Wang, Qingyi Hua, Feng Chen, Dingyi Fang
Ancr—An Adaptive Network Coding Routing Scheme For Wsns With Different-Success-Rate Links †, Xiang Ji, Anwen Wang, Chunyu Li, Chun Ma, Yao Peng, Dajin Wang, Qingyi Hua, Feng Chen, Dingyi Fang
Department of Computer Science Faculty Scholarship and Creative Works
As the underlying infrastructure of the Internet of Things (IoT), wireless sensor networks (WSNs) have been widely used in many applications. Network coding is a technique in WSNs to combine multiple channels of data in one transmission, wherever possible, to save node’s energy as well as increase the network throughput. So far most works on network coding are based on two assumptions to determine coding opportunities: (1) All the links in the network have the same transmission success rate; (2) Each link is bidirectional, and has the same transmission success rate on both ways. However, these assumptions may not be …
Testing And Debugging: A Reality Check, Pavneet Singh Kochhar
Testing And Debugging: A Reality Check, Pavneet Singh Kochhar
Dissertations and Theses Collection
Testing and debugging are important activities during software development and maintenance. Testing is performed to check if the code contains errors whereas debugging is done to locate and fix these errors. Testing can be manual or automated and can be of different types such as unit, integration, system, stress etc. Debugging can also be manual or automated. These two activities have drawn attention of researchers in the recent years. Past studies have proposed many testing techniques such as automated test generation, test minimization, test case selection etc. Studies related to debugging have proposed new techniques to find bugs using various …