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

Software Engineering Commons

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

2082 Full-Text Articles 2322 Authors 467021 Downloads 99 Institutions

All Articles in Software Engineering

Faceted Search

2082 full-text articles. Page 1 of 67.

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.


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 ...


Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez 2017 California Polytechnic State University, San Luis Obispo

Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez

Computer Engineering

Classic RPG videogames have become few and far between in the Western market over the years as modern RPG systems have gained popularity. The purpose of this project is to present a vertical slice of a hybrid RPG game that takes the gameplay mechanics and styles of classic RPG videogames and infuses them with a modern presentation. Through the use of the powerful Unreal Engine 4 graphics engine, this project is able to combine impressive graphical fidelity with modernized systems to fuel a videogame that is undeniably a classic RPG at heart. This is not a full game, but a ...


Senior Project: Calendar, Jason L. Chin 2017 California Polytechnic State University, San Luis Obispo

Senior Project: Calendar, Jason L. Chin

Computer Science

This calendar application is meant to help individuals with busy schedules. Those who must balance their time between working on multiple simultaneous projects would categorize key users. In the application, users will be able to participate in multiple projects at any one time. When a user is in a project, they will be able to create tasks, add tasks, be assigned to tasks, and add other users to the project. A key feature in this application is that each user is provided a personal project. In their personal project, any task assigned to the user from any project, will be ...


Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody 2017 California Polytechnic State University, San Luis Obispo

Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody

Computer Science

The problem our project solves is the integration of edge detection techniques with mapping libraries to display routes based on images. To do this, we used the OpenCV library within an Android application. This application lets a user import an image from their device, and uses edge detection to pull out a path from the image. The application can find the user's location and uses it alongside the path data from the image to create a route using the physical roads near the location. The shape of the route matches the edges from the given image and the user ...


An Open Source Discussion Group Recommendation System, Sarika Padmashali 2017 San Jose State University

An Open Source Discussion Group Recommendation System, Sarika Padmashali

Master's Projects

A recommendation system analyzes user behavior on a website to make suggestions about what a user should do in the future on the website. It basically tries to predict the “rating” or “preference” a user would have for an action. Yioop is an open source search engine, wiki system, and user discussion group system managed by Dr. Christopher Pollett at SJSU. In this project, we have developed a recommendation system for Yioop where users are given suggestions about the threads and groups they could join based on their user history. We have used collaborative filtering techniques to make recommendations and ...


Web - Based Office Market, Manodivya Kathiravan 2017 San Jose State University

Web - Based Office Market, Manodivya Kathiravan

Master's Projects

People who work in an office often have different pools of resources that they want to exchange. They want to trade their resources/work(seller) with a person who wants that particular resource(buyer) and in return get another resource the buyer offers. These kind of exchanges are often called Barter-exchanges where an item is traded for another item without the involvement of actual money. An exchange is set to be complete when there is a match between an available item and a desired item. This exchange is called direct exchange. When an item desired by one user is made ...


Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara 2017 CUNY Hunter College

Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara

Publications and Research

Java 8 default methods, which allow interfaces to contain (instance) method implementations, are useful for the skeletal implementation software design pattern. However, it is not easy to transform existing software to exploit default methods as it 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 to preserve type-correctness and confirm semantics preservation. In this paper, we present an efficient, fully-automated, type constraint-based refactoring approach that assists developers in taking advantage of enhanced interfaces for their legacy Java software. The approach features an extensive ...


A Ltihub For Composite Assignments, Sunita Rajain 2017 San Jose State University

A Ltihub For Composite Assignments, Sunita Rajain

Master's Projects

Learning management systems (LMS) such as Canvas and Blackboard use Learning Tool Interoperability (LTI) as their main integration point for external learning tools. Each external tool provider has to implement LTI specifications or follow LTI standards that is a time consuming and complex process as there is no easy to follow specification available. Through this project, I have developed a system that follows the LTI specifications and integrates the CodeCheck autograder and interactive exercises with any LMS. I developed a Java based web app named LTIHub that acts as a mediator between LMS and any Learning Tool Provider. The LTIHub ...


Library For Writing Contracts For Java Programs Using Prolog, Yogesh Dixit 2017 San Jose State University

Library For Writing Contracts For Java Programs Using Prolog, Yogesh Dixit

Master's Projects

Today many large and complex software systems are being developed in Java. Although, software always has bugs, it is very important that these developed systems are more reliable despite these bugs.

One way that we can help achieve this is the Design by Contract (DbC) paradigm, which was first introduced by Bertrand Meyer, the creator of Eiffel. The concept of DbC was introduced for software developers so that they can produce more reliable software systems with a little extra cost. Using programming contracts allows developer to specify details such as input conditions and expected output conditions. Doing this makes it ...


A Chatbot Framework For Yioop, Harika Nukala 2017 San Jose State University

A Chatbot Framework For Yioop, Harika Nukala

Master's Projects

Over the past few years, messaging applications have become more popular than Social networking sites. Instead of using a specific application or website to access some service, chatbots are created on messaging platforms to allow users to interact with companies’ products and also give assistance as needed. In this project, we designed and implemented a chatbot Framework for Yioop. The goal of the Chatbot Framework for Yioop project is to provide a platform for developers in Yioop to build and deploy chatbot applications. A chatbot is a web service that can converse with users using artificial intelligence in messaging platforms ...


Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara 2017 CUNY Hunter College

Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara

Publications and Research

Java 8 introduces enhanced interfaces, allowing for default (instance) methods that implementers will inherit if none are provided [3]. Default methods can be used [2] as a replacement of the skeletal implementation pattern [1], which creates abstract skeletal implementation classes that implementers extend. Migrating legacy code using the skeletal implementation pattern to instead use default methods can require significant manual effort due to subtle language and semantic restrictions. It requires preserving typecorrectness by analyzing complex type hierarchies, resolving issues arising from multiple inheritance, reconciling differences between class and interface methods, and ensuring tie-breakers with overriding class methods do not alter ...


Applying Modern Software Development Methodologies To Elearning, Martin Tyszka 2017 La Salle University

Applying Modern Software Development Methodologies To Elearning, Martin Tyszka

Mathematics and Computer Science Capstones

Modern rapid application and agile development methodologies have been key to getting software to market quickly and ensuring that it meets customer needs. The improvements brought about by these methodologies are not limited to the product, but also improve the development process through the feedback approach integral to the methodology. eLearning, the content and technology that enables learning via the Internet, has been adopted by businesses based on its advantages in lower costs, increased productivity, and flexibility when compared to traditional training approaches. This has resulted in a growth in this area. eLearning has been developed following tradition Instructional Design ...


Digital Commons powered by bepress