No abstract available.
Studying Software Evolution for Taming Software Complexity
Reducing software complexity is key to reducing software maintenance costs. To discover complexity-reducing practices, in this paper we study the evolution of seven sizable open source programs over a long period of time. We first measure how software ...
A Systematic Review on Architecting for Software Evolvability
For long-lived systems, there is a need to address evolvability (i.e. a system’s ability to easily accommodate changes) explicitly during the entire lifecycle. In this paper, we undertake a systematic review to obtain an overview of the existing studies ...
Model-Centered Customizable Architectural Design Decisions Management
Architectural Design Decisions (ADD) form a key element of Architectural Knowledge (AK), which plays a vital role in the software architecture process. To help manage ADDs, several tools have been proposed. However, most of them have prescribed fixed ...
Modelling Enterprise System Protocols and Trace Conformance
Distributed enterprise systems, which are comprised of multiple software systems, typically communicate using application-layer protocols. Being able to independently test each system’s conformance to the protocol specification is important to ensure ...
Non-Monotonic Model Completion in Web Application Engineering
Formal models are often used to verify systems and prove their correctness, and ensure that transformed models remain consistent to the original system. However, formal techniques can also be used to add reasoning in the engineering of models, ...
Security Metrics for Object-Oriented Designs
Several studies have developed metrics for software quality attributes of object-oriented designs such as reusability and functionality. However, metrics which measure the quality attribute of information security have received little attention. ...
A Reduction of Grid-Bag Layout to Auckland Layout
Many major programming platforms support layout managers in Grid-bag style, where GUI elements can be placed on a rectangular grid. In Grid-bag layout mangers, cells of the underlying grid can be merged in order to create more complex layouts. In this ...
Scenario-Based Validation: Beyond the User Requirements Notation
A quality-driven approach to software development and testing demands that, ultimately, the requirements of stakeholders be validated against the actual behavior of an implementation under test (IUT). In model-based testing, much work has been done on ...
X3D-UML: 3D UML Mechatronic Diagrams
Mechatronic systems are a synergy of mechanical and software components. System behaviour is dependent on the software interaction with non-software components and therefore both aspects need to be considered in system design. 3D UML Mechatronic ...
Support for Business Process Flexibility in Service Compositions: An Evaluative Survey
Service compositions provide a promising way to realize and coordinate automated support for business activities and processes. These business processes and their automated support need to survive in highly volatile market and technical environments. ...
A Model Transformation Method in Service-Oriented Domain Modeling
As an important phase in software development, domain modeling can be used to construct reusable domain assets based on common domain requirements. In service-oriented software development, domain modeling is essential to satisfy users’ personalized ...
An Architectural Approach to Composing Reputation-Based Trustworthy Services
In SOA, Reputation-Based Trust (RBT) mechanism is applied to achieve trust management. RBT enables services to assess the trust level of other services based on the reputation accumulated from user recommendations. A key challenge to apply RBT is to ...
Managing Structure-Related Software Project Risk: A New Role for Project Governance
This paper extends recent research on the risk implications of software project organization structures by considering how structure-related risk might be managed. Projects, and other organizations involved in projects, are usually structured according ...
Waste and Lead Time Reduction in a Software Product Customization Process with Value Stream Maps
Custom-developed adaptations of software products are increasingly important to meet different and changing customer needs and heterogeneous system environments. Efficient software customization processes with short lead times are thus a priority for ...
Application of Artificial Bee Colony Algorithm to Software Testing
This paper presents an artificial bee colony based novel search technique for automatic generation of structural software tests. Test cases are symbolically generated by measuring fitness of individuals with the help of branch distance based objective ...
Automated Feedback for Quality Assurance in Software Engineering Education
This paper investigates the use of automated testing tools for improving the quality of programs produced by software engineering students. Our approach to software quality assurance utilizes open source, professional software engineering tools to ...
The Significance of Learning Style with Respect to Achievement in First Year Programming Students
div class="user">This study investigates the relationship between the Kolb learning style of first-year programming students and their level of achievement. The method of data collection is described and the process of hypothesis testing is explained. ...
In Situ Software Visualisation
Software engineers need to design, implement, comprehend and maintain large and complex software systems. Awareness of information about the properties and state of individual artifacts, and the process being enacted to produce them, can make these ...
A Statistical Method for Middleware System Architecture Evaluation
The architecture of complex software systems is a collection of decisions that are very expensive to change. This makes effective software architecture evaluation methods essential in today’s system development for mission critical systems. We have ...
Assessing the Performance Impact of Service Monitoring
Service monitoring is an essential part of service-oriented software systems and is required for meeting regulatory requirements, verifying compliance to service-level agreements, optimising system performance, and minimising the cost of hosting Web ...
Middleware for Social Networking on Mobile Devices
Two significant but independent trends in recent years are the popularity of social networking applications and the adoption of mobile devices, notably smart phones. The current generation of smart phones are pocket computers that, compared to their ...