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

Software Engineering Commons

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

2131 Full-Text Articles 2381 Authors 523022 Downloads 99 Institutions

All Articles in Software Engineering

Faceted Search

2131 full-text articles. Page 1 of 69.

Defaultification Refactoring: A Tool For Automatically Converting Java Methods To Default, Raffi T. Khatchadourian, Hidehiko Masuhara 2017 CUNY Hunter College

Defaultification Refactoring: A Tool For Automatically Converting Java Methods To Default, Raffi T. 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 ...


Architecture-Based Self-Adaptation For Moving Target Defense (Cmu-Isr-14-109), Bradley Schmerl, Javier Camara, Gabriel Moreno, David Garlan, Andrew O. Mellinger 2017 Carnegie Mellon University

Architecture-Based Self-Adaptation For Moving Target Defense (Cmu-Isr-14-109), Bradley Schmerl, Javier Camara, Gabriel Moreno, David Garlan, Andrew O. Mellinger

Gabriel A. Moreno

The fundamental premise behind Moving Target Defense (MTD) is to create a dynamic and shifting system that is more difficult to attack than a static system because a constantly changing attack surface at least reduces the chance of an attacker finding and exploiting the weakness. However, MTD approaches are typically chosen without regard to other qualities of the system, such as performance or cost. This report explores the use of self-adaptive systems, in particular those based on the architecture of the running system. A systems software architecture can be used to trade off different quality dimensions of the system. In ...


Performance Analysis Of Security Aspects In Uml Models, Dorin Bogdan Petriu, Dorina C. Petriu, C Murray Woodside, Jing Xiu, Toqeer A. Israr, Geri Georg, Robert B. France, James M. Bieman, Siv Holde Houmb, Jan Jurjens 2017 Carleton University

Performance Analysis Of Security Aspects In Uml Models, Dorin Bogdan Petriu, Dorina C. Petriu, C Murray Woodside, Jing Xiu, Toqeer A. Israr, Geri Georg, Robert B. France, James M. Bieman, Siv Holde Houmb, Jan Jurjens

Toqeer A Israr

The focus of the paper is on the analysis of performance effects of different security solutions modeled as aspects in UML. Aspect oriented modeling (AOM) allows software designers to isolate and separately address solutions for crosscutting concerns, which are defined as distinct UML aspect models, then are composed with the primary UML model of the system under development. For performance analysis we use techniques developed previously in the PUMA project, which take as input UML models annotated with the standard UML Profile for Schedulability, Performance and Time (SPT), and transform them first into Core Scenario Model (CSM) and then into ...


Grace's Inheritance, James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones 2017 Victoria University of Wellington

Grace's Inheritance, James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones

Andrew P. Black

This article is an apologia for the design of inheritance in the Grace educational programming language: it explains how the design of Grace’s inheritance draws from inheritance mechanisms in predecessor languages, and defends that design as the best of the available alternatives. For simplicity, Grace objects are generated from object constructors, like those of Emerald, Lua, and Javascript; for familiarity, the language also provides classes and inheritance, like Simula, Smalltalk and Java. The design question we address is whether or not object constructors can provide an inheritance semantics similar to classes.


Secure Integer Comparisons Using The Homomorphic Properties Of Prime Power Subgroups, Rhys A. Carlton 2017 The University of Western Ontario

Secure Integer Comparisons Using The Homomorphic Properties Of Prime Power Subgroups, Rhys A. Carlton

Electronic Thesis and Dissertation Repository

Secure multi party computation allows two or more parties to jointly compute a function under encryption without leaking information about their private inputs. These secure computations are vital in many fields including law enforcement, secure voting and bioinformatics because the privacy of the information is of paramount importance.

One common reference problem for secure multi party computation is the Millionaires' problem which was first introduced by Turing Award winner Yao in his paper "Protocols for secure computation". The Millionaires' problem considers two millionaires who want to know who is richer without disclosing their actual worth.

There are public-key cryptosystems that ...


Parallelization Of Molecular Docking Algorithms Using Cuda For Use In Drug Discovery, Brandon Stewart, Jonathan Fine, Gaurav Chopra PhD 2017 Purdue University

Parallelization Of Molecular Docking Algorithms Using Cuda For Use In Drug Discovery, Brandon Stewart, Jonathan Fine, Gaurav Chopra Phd

The Summer Undergraduate Research Fellowship (SURF) Symposium

Traditional drug discovery methodology uses a multitude of software packages to design and evaluate new drug-like compounds. While software packages implement a wide variety of methods, the serial (i.e. single core) implementation for many of these algorithms, prohibit large scale docking, such as proteome-wide docking (i.e. thousands of compounds with thousands of proteins). Several docking algorithms can be parallelized, significantly reducing the runtime of the calculations, thus enabling large-scale docking. Implementing algorithms that take advantage of the distributed nature of graphical processing units (GPUs) via the Compute Unified Device Architecture (CUDA) enables us to efficiently implement massively parallel ...


Will This Localization Tool Be Effective For This Bug? Mitigating The Impact Of Unreliability Of Information Retrieval Based Bug Localization Tools, Tien-Duy B. LE, Ferdian THUNG, David LO 2017 Singapore Management University

Will This Localization Tool Be Effective For This Bug? Mitigating The Impact Of Unreliability Of Information Retrieval Based Bug Localization Tools, Tien-Duy B. Le, Ferdian Thung, David Lo

Research Collection School Of Information Systems

Information retrieval (IR) based bug localization approaches process a textual bug report and a collection of source code files to find buggy files. They output a ranked list of files sorted by their likelihood to contain the bug. Recently, several IR-based bug localization tools have been proposed. However, there are no perfect tools that can successfully localize faults within a few number of most suspicious program elements for every single input bug report. Therefore, it is difficult for developers to decide which tool would be effective for a given bug report. Furthermore, for some bug reports, no bug localization tools ...


Intuition: Role, Biases, Cognitive Basis, And A Hypothetical Synergistic Explanation Of Intuitive Brain Operations, Jens G. Pohl 2017 California Polytechnic State University, San Luis Obispo

Intuition: Role, Biases, Cognitive Basis, And A Hypothetical Synergistic Explanation Of Intuitive Brain Operations, Jens G. Pohl

Collaborative Agent Design (CAD) Research Center

This paper explores the characteristics of the intuitive responses that are generated by our brain continuously in an automatic and effortless manner. However, while intuition is a very powerful mechanism, it is also subject to many biasing influences. The author discusses the role of intuition, examines representative examples of biasing influences, compares cognitive theories of intuition advanced by Simon (2002), Klein (2003 and 1999), and Kahneman (2011), and then advances a hypothetical explanation of the neurological operations underlying intuition based on Hebbian rules (Hebb 1949) of plasticity in combination with synergetic principles.


Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis 2017 Loyola University Chicago

Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis

George K. Thiruvathukal

Various hybrid-functional languages, designed to balance compile-time error detection, conciseness, and performance, have emerged. Scala, e.g., is interoperable with Java and has become an early leader in adoption, especially in the start-up and open-source spaces. As educators, we have recognized Scala’s value as a teaching language across the CS curriculum. In CS1, the read-eval-print loop and simple, uniform syntax aid programming in the small. In CS2, higher-order methods allow concise, efficient manipulation of collections. In a programming languages course, advanced constructs facilitate the separation of concerns, program representation and interpretation, and concurrent programming. In advanced applied courses, language ...


Systemic Vulnerabilities In Customer-Premises Equipment (Cpe) Routers, Joel Land 2017 Carnegie Mellon University

Systemic Vulnerabilities In Customer-Premises Equipment (Cpe) Routers, Joel Land

Software Engineering Institute

Customer-premises equipment (CPE)—specifically small office/home office (SOHO) routers—has become ubiquitous. CPE routers are notorious for their web interface vulnerabilities, old versions of software components with known vulnerabilities, default and hard-coded credentials, and other security issues.

This report describes a test framework that the CERT/CC developed to identify systemic and other vulnerabilities in CPE routers. It also describes the procedure the CERT/CC used in its analysis, and presents case studies and suggestions for tracking vulnerabilities in a way that encourages vendor responsiveness and increased customer awareness.


Entagrec: An Enhanced Tag Recommendation System For Software Information Sites, Shaowei Wang, David LO, Bogdan Vasilescu, Alexander Serebrenik 2017 Singapore Management University

Entagrec: An Enhanced Tag Recommendation System For Software Information Sites, Shaowei Wang, David Lo, Bogdan Vasilescu, Alexander Serebrenik

Research Collection School Of Information Systems

Software engineers share experiences with modern technologies by means of software information sites, such as Stack Overflow. These sites allow developers to label posted content, referred to as software objects, with short descriptions, known as tags. However, tags assigned to objects tend to be noisy and some objects are not well tagged. To improve the quality of tags in software information sites, we propose EnTagRec, an automatic tag recommender based on historical tag assignments to software objects and we evaluate its performance on four software information sites, Stack Overflow, Ask Ubuntu, Ask Different, and Free code. We observe that that ...


Automatically Locating Malicious Packages In Piggybacked Android Apps, Li LI, Daoyuan LI, Tegawende BISSYANDE, Jacques KLEIN, Haipeng CAI, David LO, Yves LE TRAON 2017 Singapore Management University

Automatically Locating Malicious Packages In Piggybacked Android Apps, Li Li, Daoyuan Li, Tegawende Bissyande, Jacques Klein, Haipeng Cai, David Lo, Yves Le Traon

Research Collection School Of 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 set of piggybacked apps, we are able to ...


Jfix: Semantics-Based Repair Of Java Programs Via Symbolic Pathfinder, Xuan Bach D. LE, Duc-Hiep CHU, David LO, GOUES LE, Willem VISSER 2017 Singapore Management University

Jfix: Semantics-Based Repair Of Java Programs Via Symbolic Pathfinder, Xuan Bach D. Le, Duc-Hiep Chu, David Lo, Goues Le, Willem Visser

Research Collection School Of Information Systems

Recently there has been a proliferation of automated program repair (APR) techniques, targeting various programming languages. Such techniques can be generally classified into two families: syntactic- and semantics-based. Semantics-based APR, on which we focus, typically uses symbolic execution to infer semantic constraints and then program synthesis to construct repairs conforming to them. While syntactic-based APR techniques have been shown success- ful on bugs in real-world programs written in both C and Java, semantics-based APR techniques mostly target C programs. This leaves empirical comparisons of the APR families not fully explored, and developers without a Java-based semantics APR technique. We present ...


Hot Topics In Cloud Computing, Liang-Jie Zhang, Jia Zhang, Jinan Fiaidhi, J. Morris Chang 2017 Carnegie Mellon University, Silicon Valley

Hot Topics In Cloud Computing, Liang-Jie Zhang, Jia Zhang, Jinan Fiaidhi, J. Morris Chang

Morris Chang

No abstract provided.


A Quantitative Cost/Benefit Analysis For Dynamic Updating, Bashar Gharaibeh, Hridesh Rajan, J. Morris Chang 2017 Iowa State University

A Quantitative Cost/Benefit Analysis For Dynamic Updating, Bashar Gharaibeh, Hridesh Rajan, J. Morris Chang

Morris Chang

Dynamic software updating provides many benefits, e.g. in runtime monitoring, runtime adaptation to fix bugs in long running applications, etc. Although it has several advantages, no quantitative analysis of its costs and revenue are available to show its benefits or limitations especially in comparison with other software updating schemes. To address this limitation in evaluating software updating schemes, we contribute a quantitative cost/benefit analysis based on net option-value model, which stems from the analysis of financial options. Our model expresses the relation between added value and paid cost in mathematical forms. We have used this model to evaluate ...


Convergence Technologies For Sensor Systems In The Next Generation Networks, Conor Gildea, Declan Barber 2017 Institute of Technology Blanchardstown, Ireland,

Convergence Technologies For Sensor Systems In The Next Generation Networks, Conor Gildea, Declan Barber

The ITB Journal

This paper describes an approach to the internetworking of sensory nodes in a converged network environment. This preliminary investigation of sensory network creation is driven by a joint applied research project which seeks to establish the feasibility of the real-time remote monitoring of animal welfare while in transit between Ireland, Europe and the Middle East. This paper examines the use of Java to create sensor services in converging architectures which leverage the Internetworking protocols and describes our implementation of such a system.


Neural Networks For Real-Time Pathfinding In Computer Games, Ross Graham, Hugh McCabe, Stephen Sheridan 2017 School oflnformatics and Engineering, Institute of Technology at Blanchardstown, Dublin l5.

Neural Networks For Real-Time Pathfinding In Computer Games, Ross Graham, Hugh Mccabe, Stephen Sheridan

The ITB Journal

One of the greatest challenges in the design of realistic Artificial Intelligence (Al) in computer games is agent movement. Pathfinding strategies are usually employed as the core of any AI movement system. The two main components for basic real-time pathfinding are (i) travelling towards a specified goal and (ii) avoiding dynamic and static obstacles that may litter the path to this goal. The focus of this paper is how machine learning techniques, such as Artificial Neural Networks and Genetic Algorithms, can be used to enhance an AI agent's ability to handle pathfinding in real-time by giving them an awareness ...


Emotion Authentication: A Method For Voice Integrity Checking, C. Reynolds, L. Vasiu, M. Smith 2017 Middlesex University, School of Computing science, Bramley Rd, Oakwood, N14 4YZ UK.

Emotion Authentication: A Method For Voice Integrity Checking, C. Reynolds, L. Vasiu, M. Smith

The ITB Journal

When people communicate with telephone type systems, it is often assumed that the listener would notice any modification of the speaker's voice. It is possible however to introduce small changes that would not be noticed by a listener but could modify the reading of a Voice Stress Analyser, popularly referred to as a lie detector. Existing approaches to checking the integrity of voice require significant amounts of processing or are able to detect only non-subtle modification such as change of speaker. With the advent of real time voice modification using software and hardware based signal processing, we argue that ...


Strengthening The Practices Of An Agile Methodology?, Jimmy Doody, Amanda O'Farrell 2017 Department of Computing, Institute of Technology Tallaght, Dublin 24.

Strengthening The Practices Of An Agile Methodology?, Jimmy Doody, Amanda O'Farrell

The ITB Journal

An investigation into how the software development process in an agile environment (Extreme Programming) can be aided by intelligent software, leading to the development of a tool that will automate the process of standardising and clarifying source code. The tool will also speed up and aid the testing process, by producing test objects based on the source code, and by providing full test tracking, without having a negative impact on the development process. By making the coding and testing processes more automated, the research aims to evaluate the following hypotheses: 1. That the programmer's productivity can be increased by ...


Setting Up And Mentoring In Coderdojo Dublin 15, Arnold Hensman 2017 Institute of Technology, Blanchardstown

Setting Up And Mentoring In Coderdojo Dublin 15, Arnold Hensman

The ITB Journal

Initilally beginning in Ireland, CoderDojo is a non-profit organisation that has grown rapidly into a global network of community based programming clubs. Mentors teach coding skills to young people aged between 7 and 17. All classes are free of charge and clubs operate entirely on a volunteer basis. The first Dublin 15 based CoderDojo began just over two years ago and continues to thrive during weekend sessions held at The Institute of Technology Blanchardstown (ITB), which offers the use of its premises and resources for the sessions. This paper will chronicle the involvement of ITB staff and students with the ...


Digital Commons powered by bepress