Online ISSN
1751-8814
Print ISSN
1751-8806
IET Software
Volume 6, Issue 1, February 2012
Volumes & issues:
Volume 6, Issue 1
February 2012
-
- Author(s): S.U. Khan ; M. Niazi ; R. Ahmad
- Source: IET Software, Volume 6, Issue 1, p. 1 –15
- DOI: 10.1049/iet-sen.2010.0038
- Type: Article
- + Show details - Hide details
-
p.
1
–15
(15)
Offshore software development outsourcing is a contractual business of high-quality software production at offshore destinations with significant cost-saving. The objective of this research paper is to identify and analyse factors that are important to be addressed by vendor organisations in order to be competitive in outsourcing business. We have performed questionnaire surveys with 53 experts from a total of 20 different countries. We asked the participants to rank each success factor on a fivepoint scale to determine the perceived importance of each success factor. Our survey included success factors identified in the previous findings of our systematic literature review study. We have identified factors such as cost-saving and appropriate infrastructure, which are considered critical by the outsourcing clients. Our results indicate that appropriate infrastructure, cost-saving and efficient project management are common in three types of experts (i.e. junior, intermediate and senior). We identified cost-saving as being common in four groups of experts (i.e. developers, managers, senior managers and others). We have also identified cost-saving as being common in three types of organisations (i.e. small, medium and large). Cost-saving and appropriate infrastructure should be addressed by vendor organisations in order to compete in the offshore outsourcing business. - Author(s): C. Braga ; R. Menezes ; T. Comicio ; C. Santos ; E. Landim
- Source: IET Software, Volume 6, Issue 1, p. 16 –32
- DOI: 10.1049/iet-sen.2011.0013
- Type: Article
- + Show details - Hide details
-
p.
16
–32
(17)
Model-driven development (MDD) is a software engineering discipline which suggests that software development should be done at the modelling level and that applications should be generated from models. A key concept of MDD is a model transformation that generates software artifacts, such as code, from models. Since models are ‘first-class’ citizens in MDD, their verification and validation are important tasks and so are the model transformations. A transformation contract, which is also a model, is a specification of what a particular model transformation must implement and essentially specifies a relation between metamodels and properties that must hold on such a relation. The authors have defined a design pattern that enforces transformation contract correctness over model transformations implementations. This study reports on (i) the proposed design pattern, (ii) the design of the UMLtoEJB model transformation that generates application code, following the Enterprise Java Beans standard, from class diagrams described in the Unified Modelling Language, and (iii) a discussion on how the transformation contracts approach may help different actors, in an MDD software development process with transformation contracts, to identify erroneous situations. - Author(s): A. Marchetto ; P. Tonella ; F. Ricca
- Source: IET Software, Volume 6, Issue 1, p. 33 –49
- DOI: 10.1049/iet-sen.2010.0152
- Type: Article
- + Show details - Hide details
-
p.
33
–49
(17)
In contrast to conventional multi-page Web applications, an Ajax application is often developed as a single-page application in which content and structure are changed at runtime according to user interactions, asynchronous messages received from the server and the current state of the application. These features make Ajax applications quite hard to understand for programmers. The authors propose to support Ajax comprehension through reverse engineering. In this study, the authors propose a reverse-engineering tool, ReAjax, to build GUI-based state models from Ajax applications. ReAjax applies dynamic analysis and uses execution traces to generate a finite state machine of the target application GUI. They show that GUI-based state models obtained semi-automatically are similar to those obtained manually and they can be used for program understanding purposes. Finally, the authors summarise a case study and some usage scenarios in which ReAjax has been applied to five real Ajax applications with the purpose of evaluating its viability and effectiveness in recovering models. - Author(s): Y. Huang and L. Lu
- Source: IET Software, Volume 6, Issue 1, p. 50 –60
- DOI: 10.1049/iet-sen.2011.0012
- Type: Article
- + Show details - Hide details
-
p.
50
–60
(11)
Aimed at the complex and inefficient testing issues of graphical user interface (GUI) software, this study describes an automatic framework for GUI test case generation. The framework includes a reverse engineering of executive GUI to create GUI information and event-flow model. According to these information and model, an ant colony algorithm is applied to generate test cases. The study shows that by identifying valid event interactions, the generated test cases are capable of finding deep faults without infeasible problems; the configuration of different parameters for ant colony and the good design of the proposed framework provide flexible interfaces to control test suites. - Author(s): S. Parsa and S. Arabi Naree
- Source: IET Software, Volume 6, Issue 1, p. 61 –73
- DOI: 10.1049/iet-sen.2010.0057
- Type: Article
- + Show details - Hide details
-
p.
61
–73
(13)
This study presents a new online bug detection approach for safety critical software systems. The novelty of the proposed approach is the use of support vector machine (SVM) with a customised kernel function to accelerate the detection of bugs early before they could cause the program to fail. The new kernel function is built based on a novel sequence-matching technique to measure the similarities between passing and failing executions, represented as sequences of the program predicates. The SVM method constructs a hyperplane that optimally divides the program execution space into two regions of failing and passing executions. The hyperplane could be further applied to detect the symptoms of failure during the program execution. Here the experiments with the Rhythmbox and SPEC2000 test programs, demonstrate the ability of the proposed method in early bug detection with small overhead on the program execution time. Moreover, the proposed approach in this study has revealed 83 out of 132 bugs (i.e. 63%) in Siemens while only 10% of code is required to be manually examined to locate the origins of failure. This is the most promising result compared with the latest approaches to early bug detection. - Author(s): R. Mohamad ; M.W. Aziz ; D.N.A. Jawawi ; M. Ghazali ; M.Z. Arbaie ; N. Ibrahim
- Source: IET Software, Volume 6, Issue 1, p. 74 –82
- DOI: 10.1049/iet-sen.2010.0159
- Type: Article
- + Show details - Hide details
-
p.
74
–82
(9)
Analysis and design are the key phases in any software development life cycle. Service identification is one of the most important steps performed in the analysis phase of service-oriented software development life cycle. Service-orientation has been applied successfully in the domain of distributed embedded real-time system because of the advantages it provides such as reusability and interoperability. However, a systematic service-oriented development methodology for distributed embedded real-time system is still missing. A step-by-step guideline for service identification is presented in this study as part of an attempt to define the analysis phase of service-oriented software development life cycle for distributed embedded real-time system. The Smart Home case study is applied to verify the guidelines. This study provides profound descriptions on how to identify services for distributed embedded real-time system. Moreover, this work can be used as a first step towards a systematic service-oriented software development life cycle for distributed embedded real-time systems.
Empirical investigation of success factors for offshore software development outsourcing vendors
Transformation contracts in practice
ReAjax: a reverse engineering tool for Ajax Web applications
Apply ant colony to event-flow model for graphical user interface test case generation
Software online bug detection: applying a new kernel method
Service identification guideline for developing distributed embedded real-time systems
Most viewed content for this Journal
Article
content/journals/iet-sen
Journal
5
Most cited content for this Journal
-
Progress on approaches to software defect prediction
- Author(s): Zhiqiang Li ; Xiao-Yuan Jing ; Xiaoke Zhu
- Type: Article
-
Systematic review of success factors and barriers for software process improvement in global software development
- Author(s): Arif Ali Khan and Jacky Keung
- Type: Article
-
Empirical investigation of the challenges of the existing tools used in global software development projects
- Author(s): Mahmood Niazi ; Sajjad Mahmood ; Mohammad Alshayeb ; Ayman Hroub
- Type: Article
-
Feature extraction based on information gain and sequential pattern for English question classification
- Author(s): Yaqing Liu ; Xiaokai Yi ; Rong Chen ; Zhengguo Zhai ; Jingxuan Gu
- Type: Article
-
Early stage software effort estimation using random forest technique based on use case points
- Author(s): Shashank Mouli Satapathy ; Barada Prasanna Acharya ; Santanu Kumar Rath
- Type: Article