Reengineering A 2-Tier Database Application With Software Architecture,
2017
Southern Illinois University Carbondale
Reengineering A 2-Tier Database Application With Software Architecture, Hong G. Jung
ASA Multidisciplinary Research Symposium
The purpose of this research is to demonstrate how to reengineer a legacy Database Application using to a target system with MVC and 3-layered architecture. A Coffee Inventory Management database application is used for legacy application. The benefits of the reengineering are discussed.
Software Reengineering: Reverse Engineering With Using 4+1 Architectural Views And Forward Engineering With Mvc Architecture,
2017
Southern Illinois University Carbondale
Software Reengineering: Reverse Engineering With Using 4+1 Architectural Views And Forward Engineering With Mvc Architecture, Shane Mueller
ASA Multidisciplinary Research Symposium
As software complexity is increasing exponentially in our modern era, software architecture becomes increasingly important. The separation of concerns through architecture allows each programmer the opportunity to limit their need of understanding to only the portion of code for which they are responsible for, thus saving large amounts of time.
Would You Like To Motivate Software Testers? Ask Them How,
2017
Federal University of Pernambuco
Would You Like To Motivate Software Testers? Ask Them How, Ronnie Santos, Cleyton Magalhaes, Jorge Correia-Neto, Fabio Queda Silva, Luiz Fernando Capretz, Rodrigo Souza
Electrical and Computer Engineering Publications
Considering the importance of software testing to the development of high quality and reliable software systems, this paper aims to investigate how can work-related factors influence the motivation of software testers. Method. We applied a questionnaire that was developed using a previous theory of motivation and satisfaction of software engineers to conduct a survey-based study to explore and understand how professional software testers perceive and value work-related factors that could influence their motivation at work. Results. With a sample of 80 software testers we observed that software testers are strongly motivated by variety of work, creative tasks, recognition for their …
Learning Likely Invariants To Explain Why A Program Fails,
2017
Singapore Management University
Learning Likely Invariants To Explain Why A Program Fails, Long H. Pham, Jun Sun, Lyly Tran Thi, Jingyi Wang, Xin Peng
Research Collection School Of Computing and Information Systems
Debugging is difficult. Recent studies show that automatic bug localization techniques have limited usefulness. One of the reasons is that programmers typically have to understand why the program fails before fixing it. In this work, we aim to help programmers understand a bug by automatically generating likely invariants which are violated in the failed tests. Given a program with an initial assertion and at least one test case failing the assertion, we first generate random test cases, identify potential bug locations through bug localization, and then generate program state mutation based on active learning techniques to identify a predicate 'explaining' …
Evidence-Based Devops For Continuous Collaboration, Process, And Delivery,
2017
Southern Illinois University Carbondale
Evidence-Based Devops For Continuous Collaboration, Process, And Delivery, Weon S. Chung
ASA Multidisciplinary Research Symposium
The purpose of this research is to propose Evidence-Based DevOps and to demonstrate its application to software reengineering. For this purpose, we borrow an approach from Medicine, Evidence-Based Medicine (EBM), and apply it to DevOps. Evidence-Based DevOps supports continuous collaboration, process, and deployment within or across diverse teams.
Mining Implicit Design Templates For Actionable Code Reuse,
2017
National University of Singapore
Mining Implicit Design Templates For Actionable Code Reuse, Yun Lin, Guozhu Meng, Yinxing Yue, Zhenchang Xing, Jun Sun, Xin Peng, Yang Liu, Wenyun Zhao, Jin Song Dong
Research Collection School Of Computing and Information Systems
In this paper, we propose an approach to detecting project-specific recurring designs in code base and abstracting them into design templates as reuse opportunities. The mined templates allow programmers to make further customization for generating new code. The generated code involves the code skeleton of recurring design as well as the semi-implemented code bodies annotated with comments to remind programmers of necessary modification. We implemented our approach as an Eclipse plugin called MICoDe. We evaluated our approach with a reuse simulation experiment and a user study involving 16 participants. The results of our simulation experiment on 10 open source Java …
Automatic Loop-Invariant Generation And Refinement Through Selective Sampling,
2017
Singapore Management University
Automatic Loop-Invariant Generation And Refinement Through Selective Sampling, Jiaying Li, Jun Sun, Li Li, Quang Loc Le, Shang-Wei Lin
Research Collection School Of Computing and Information Systems
Automatic loop-invariant generation is important in program analysis and verification. In this paper, we propose to generate loop-invariants automatically through learning and verification. Given a Hoare triple of a program containing a loop, we start with randomly testing the program, collect program states at run-time and categorize them based on whether they satisfy the invariant to be discovered. Next, classification techniques are employed to generate a candidate loop-invariant automatically. Afterwards, we refine the candidate through selective sampling so as to overcome the lack of sufficient test cases. Only after a candidate invariant cannot be improved further through selective sampling, we …
Fib: Squeezing Loop Invariants By Interpolation Between Forward/Backward Predicate Transformers,
2017
Singapore Management University
Fib: Squeezing Loop Invariants By Interpolation Between Forward/Backward Predicate Transformers, Shang-Wei Lin, Jun Sun, Hao Xiao, Yang Liu, David Sana, Henri Hansen
Research Collection School Of Computing and Information Systems
Loop invariant generation is a fundamental problem in program analysis and verification. In this work, we propose a new approach to automatically constructing inductive loop invariants. The key idea is to aggressively squeeze an inductive invariant based on Craig interpolants between forward and backward reachability analysis. We have evaluated our approach by a set of loop benchmarks, and experimental results show that our approach is promising.
Sudoku App: Model-Driven Development Of Android Apps Using Ocl?,
2017
The University of Texas at El Paso
Sudoku App: Model-Driven Development Of Android Apps Using Ocl?, Yoonsik Cheon, Aditi Barua
Departmental Technical Reports (CS)
Model driven development (MDD) shifts the focus of software development from writing code to building models by developing an application as a series of transformations on models including eventual code generation. Can the key ideas of MDD be applied to the development of Android apps, one of the most popular mobile platforms of today? To answer this question, we perform a small case study of developing an Android app for playing Sudoku puzzles. We use the Object Constraint Language (OCL) as the notation for creating precise models and translate OCL constraints to Android Java code. Our findings are mixed in …
A High Quality, Eulerian 3d Fluid Solver In C++,
2017
California Polytechnic State University, San Luis Obispo
A High Quality, Eulerian 3d Fluid Solver In C++, Lejon Anthony Mcgowan
Computer Science and Software Engineering
Fluids are a part of everyday life, yet are one of the hardest elements to properly render in computer graphics. Water is the most obvious entity when thinking of what a fluid simulation can achieve (and it is indeed the focus of this project), but many other aspects of nature, like fog, clouds, and particle effects. Real-time graphics like video games employ many heuristics to approximate these effects, but large-scale renderers aim to simulate these effects as closely as possible.
In this project, I wish to achieve effects of the latter nature. Using the Eulerian technique of discrete grids, I …
Migrating From Sql To Nosql Database: Practices And Analysis,
2017
United Arab Emirates University
Migrating From Sql To Nosql Database: Practices And Analysis, Fatima Jamal Al Shekh Yassin
Accounting Dissertations
Most of the enterprises that are dealing with big data are moving towards using
NoSQL data structures to represent data. Converting existing SQL structures to
NoSQL structure is a very important task where we should guarantee both better
Performance and accurate data. The main objective of this thesis is to highlight the
most suitable NoSQL structure to migrate from relational Database in terms of high
performance in reading data. Different combinations of NoSQL structures have been tested and compared with SQL structure to be able to conclude the best design to use.For SQL structure, we used the MySQL data that …
Enabling Phased Array Signal Processing For Mobile Wifi Devices,
2017
Singapore Management University
Enabling Phased Array Signal Processing For Mobile Wifi Devices, Kun Qian, Chenshu Wu, Zheng Yang, Zimu Zhou, Xu Wang, Yunhao Liu
Research Collection School Of Computing and Information Systems
Modern mobile devices are equipped with multiple antennas, which brings various wireless sensing applications such as accurate localization, contactless human detection, and wireless human-device interaction. A key enabler for these applications is phased array signal processing, especially Angle of Arrival (AoA) estimation. However, accurate AoA estimation on commodity devices is non-trivial due to limited number of antennas and uncertain phase offsets. Previous works either rely on elaborate calibration or involve contrived human interactions. In this paper, we aim to enable practical AoA measurements on commodity off-the-shelf (COTS) mobile devices. The key insight is to involve users’ natural rotation to formulate …
Reproducible Research For Computing In Science & Engineering,
2017
George Washington University
Reproducible Research For Computing In Science & Engineering, Lorena A. Barba, George K. Thiruvathukal
Computer Science: Faculty Publications and Other Works
The editors of the new track for reproducible research outline the parameters for future peer review, submission, and access, highlighting the magazine’s previous work in this field and some of the challenges still to come.
Language Inclusion Checking Of Timed Automata With Non-Zenoness,
2017
Singapore Management University
Language Inclusion Checking Of Timed Automata With Non-Zenoness, Xinyu Wang, Jun Sun, Ting Wang, Shengchao Qin
Research Collection School Of Computing and Information Systems
Given a timed automaton P modeling an implementation and a timed automaton S as a specification, the problem of language inclusion checking is to decide whether the language of P is a subset of that of S. It is known to be undecidable. The problem gets more complicated if non-Zenoness is taken into consideration. A run is Zeno if it permits infinitely many actions within finite time. Otherwise it is non-Zeno. Zeno runs might present in both P and S. It is necessary to check whether a run is Zeno or not so as to avoid presenting Zeno runs as …
Improving Probability Estimation Through Active Probabilistic Model Learning,
2017
Singapore Management University
Improving Probability Estimation Through Active Probabilistic Model Learning, Jingyi Wang, Xiaohong Chen, Jun Sun, Shengchao Qin
Research Collection School Of Computing and Information Systems
It is often necessary to estimate the probability of certain events occurring in a system. For instance, knowing the probability of events triggering a shutdown sequence allows us to estimate the availability of the system. One approach is to run the system multiple times and then construct a probabilistic model to estimate the probability. When the probability of the event to be estimated is low, many system runs are necessary in order to generate an accurate estimation. For complex cyber-physical systems, each system run is costly and time-consuming, and thus it is important to reduce the number of system runs …
A Semantics Comparison Workbench For A Concurrent, Asynchronous, Distributed Programming Language,
2017
Singapore Management University
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,
2017
Heidelberg University
The Impact Of Coverage On Bug Density In A Large Industrial Software Project, Thomas Bach, Artur Andrzejak, Ralf Pannemans, David Lo
Research Collection School Of 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,
2017
University of Luxembourg
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 …
Answerbot: Automated Generation Of Answer Summary To Developers’ Technical Questions,
2017
Singapore Management University
Answerbot: Automated Generation Of Answer Summary To Developers’ Technical Questions, Bowen Xu, Zhenchang Xing, Xin Xia, David Lo
Research Collection School Of Computing and Information Systems
The prevalence of questions and answers on domain-specific Q&A sites like Stack Overflow constitutes a core knowledge asset for software engineering domain. Although search engines can return a list of questions relevant to a user query of some technical question, the abundance of relevant posts and the sheer amount of information in them makes it difficult for developers to digest them and find the most needed answers to their questions. In this work, we aim to help developers who want to quickly capture the key points of several answer posts relevant to a technical question before they read the details …
Apibot: Question Answering Bot For Api Documentation,
2017
Singapore Management University
Apibot: Question Answering Bot For Api Documentation, Yuan Tian, Ferdian Thung, Abhishek Sharma, David Lo
Research Collection School Of Computing and Information Systems
As the carrier of Application Programming Interfaces (APIs) knowledge, API documentation plays a crucial role in how developers learn and use an API. It is also a valuable information resource for answering API-related questions, especially when developers cannot find reliable answers to their questions online/offline. However, finding answers to API-related questions from API documentation might not be easy because one may have to manually go through multiple pages before reaching the relevant page, and then read and understand the information inside the relevant page to figure out the answers. To deal with this challenge, we develop APIBot, a bot that …
