Open Access. Powered by Scholars. Published by Universities.®

Software Engineering Commons™

Open Access. Powered by Scholars. Published by Universities.®

4,680 Full-Text Articles 7,285 Authors 2,188,662 Downloads 182 Institutions

All Articles in Software Engineering

Faceted Search

4,680 full-text articles. Page 126 of 190.

Reengineering A 2-Tier Database Application With Software Architecture, Hong G. Jung 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, Shane Mueller 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, Ronnie Santos, Cleyton Magalhaes, Jorge Correia-Neto, Fabio Queda Silva, Luiz Fernando Capretz, Rodrigo Souza 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, Long H. PHAM, Jun SUN, Lyly Tran THI, Jingyi WANG, Xin PENG 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, Weon S. Chung 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, Yun LIN, Guozhu MENG, Yinxing YUE, Zhenchang XING, Jun SUN, Xin PENG, Yang LIU, Wenyun ZHAO, Jin Song DONG 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, Jiaying LI, Jun SUN, Li LI, Quang Loc LE, Shang-Wei LIN 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, Shang-Wei LIN, Jun SUN, Hao XIAO, Yang LIU, David SANA, Henri HANSEN 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?, Yoonsik Cheon, Aditi Barua 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++, LeJon Anthony McGowan 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, Fatima Jamal Al Shekh Yassin 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, Kun QIAN, Chenshu WU, Zheng YANG, Zimu ZHOU, Xu WANG, Yunhao LIU 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, Lorena A. Barba, George K. Thiruvathukal 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, Xinyu WANG, Jun SUN, Ting WANG, Shengchao QIN 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, Jingyi WANG, Xiaohong CHEN, Jun SUN, Shengchao QIN 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, Claudio CORRODI, Alexander HEUßNER, Christopher M. POSKITT 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, Thomas BACH, Artur ANDRZEJAK, Ralf PANNEMANS, David LO 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, Li LI, Daoyuan LI, Tegawende F. BISSYANDE, Jacques KLEIN, Haipeng CAI, David LO, Yves LE TRAON 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, Bowen XU, Zhenchang XING, Xin XIA, David LO 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, Yuan TIAN, Ferdian THUNG, Abhishek SHARMA, David LO 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 …


Digital Commons powered by bepress