Journal of Software: Evolution and Process

Cover image for Vol. 30 Issue 2

Early View (Online Version of Record published before inclusion in an issue)

Edited By: Gerardo Canfora, Darren Dalcher and David Raffo

Impact Factor: 1.033

ISI Journal Citation Reports © Ranking: 2016: 74/106 (Computer Science Software Engineering)

Online ISSN: 2047-7481

Associated Title(s): Concurrency and Computation: Practice and Experience, Software Focus, Software Process: Improvement and Practice, Software Testing, Verification and Reliability, Software: Practice and Experience


  1. 1 - 31

    1. Literature review of flexibility attributes: A flexibility framework for software developing organization

      Indira Nurdiani, Jürgen Börstler and Samuel A. Fricker

      Version of Record online: 15 FEB 2018 | DOI: 10.1002/smr.1937

      Thumbnail image of graphical abstract

      The paper presents a flexibility framework with 3 main attributes: properties of change, flexibility perspectives, and flexibility enablers. The resulting flexibility framework is then used to evaluate Agile and Lean practices. The evaluation shows that Agile and Lean practices address many flexibility attributes, but not all.


    1. Reusing process patterns in software process models modification

      Asma Hachemi and Mohamed Ahmed-Nacer

      Version of Record online: 7 FEB 2018 | DOI: 10.1002/smr.1938


    1. Special issue on software engineering for Connected Health: Challenges and research roadmap

      Noel Carroll, Craig Kuziemsky and Ita Richardson

      Version of Record online: 5 FEB 2018 | DOI: 10.1002/smr.1941



    1. How is agile development currently being used in regulated embedded domains?

      Philipp Diebold and Sven Theobald

      Version of Record online: 22 JAN 2018 | DOI: 10.1002/smr.1935

    2. A hybrid approach for aspect-oriented business process modeling

      Amin Jalali, Fabrizio Maria Maggi and Hajo A. Reijers

      Version of Record online: 22 JAN 2018 | DOI: 10.1002/smr.1931

      Thumbnail image of graphical abstract

      This paper introduces a new hybrid business process modeling approach to support encapsulation of cross-cutting concerns. The approach relates imperative cross-cutting concerns and imperative business process models through declarative rules. The approach is explained, formally grounded with precise semantics, and used accordingly to implement the artifacts that support modeling and enactment of business processes. In addition, the usability and easy to use aspects of the approach are evaluated based on the Technology Acceptance Model.

  6. Standards Paper

    1. Security-aware SaaS placement using swarm intelligence

      Haithem Mezni, Mokhtar Sellami and Jaber Kouki

      Version of Record online: 17 JAN 2018 | DOI: 10.1002/smr.1932


    1. Software architectures for health care cyber-physical systems: A systematic literature review

      Andrea M. Plaza, Jessica Díaz and Jennifer Pérez

      Version of Record online: 15 JAN 2018 | DOI: 10.1002/smr.1930

      Thumbnail image of graphical abstract

      This paper aims to identify and compare existing research on software architectures for health care Cyber-Physical Systems to determine successful solutions that could guide other architects and practitioners on their health care projects. We conducted a systematic literature review and the research synthesis results in a knowledge base of software architectures for health care CPS by describing their stakeholders, functional and non-functional features, quality attributes, architectural views and styles, components, and implementation technologies. This systematic literature review also identifies research gaps and future research directions.


    1. More effective sprint retrospective with statistical analysis

      Onur Erdoğan, Muhammed Emre Pekkaya and Halime Gök

      Version of Record online: 28 DEC 2017 | DOI: 10.1002/smr.1933

      Thumbnail image of graphical abstract

      Scrum teams aim to deliver products productively with highest possible value and quality, so they try to deliver high-priority and high-value product backlog items in earlier sprints. Making size estimation of product backlog items correctly is one of the most prominent factors for effective sprint planning. In this study, we describe several metrics for quantitative scrum project management that can develop and sustain hyper-productive teams in terms of team velocity, accurate relative estimation, work capacity, quality factors, unplanned work ratio, commitment accuracy, estimate accuracy, and innovation contribution increase.

    2. A hybrid assessment approach for medical device software development companies

      Özden Özcan-Top and Fergal McCaffery

      Version of Record online: 28 DEC 2017 | DOI: 10.1002/smr.1929

      Thumbnail image of graphical abstract

      MDevSPICE® is a medical device software process assessment framework. To improve the usability of MDevSPICE® in agile settings, we extended the assessment approach. The hybrid process assessment approach described here combines the MDevSPICE®-based process assessment method with steps for prioritization of improvement needs through value stream mapping and enabling process improvement through the use of KATA technique. The hybrid approach integrates agile methods into the medical device software development process while adhering to the requirements of the regulatory standards.




    1. Context-dependent reconfiguration of autonomous vehicles in mixed traffic

      José Miguel Horcas, Julien Monteil, Mélanie Bouroche, Mónica Pinto, Lidia Fuentes and Siobhán Clarke

      Version of Record online: 4 DEC 2017 | DOI: 10.1002/smr.1926

      Thumbnail image of graphical abstract
      • The variability of the autonomous vehicles' behaviour, traffic context and quality is modelled in a Dynamic Software Product Line.
      • The behaviour of the autonomous vehicles is adapted at runtime based on the current traffic context.
      • A model predictive controller agent for autonomous vehicles optimises their behavioural parameters based on available knowledge in the traffic network.
    2. Model refactoring by example: A multi-objective search based software engineering approach

      Adnane Ghannem, Marouane Kessentini, Mohammad Salah Hamdi and Ghizlane El Boussaidi

      Version of Record online: 28 NOV 2017 | DOI: 10.1002/smr.1916


    1. Sustainability requirements for connected health applications

      Sofia Ouhbi, José Luis Fernández-Alemán, Ambrosio Toval, José Rivera Pozo and Ali Idri

      Version of Record online: 28 NOV 2017 | DOI: 10.1002/smr.1922


    1. Comparative modelling and verification of Pthreads and Dthreads

      Yuan Fei, Huibiao Zhu, Xi Wu, Huixing Fang and Shengchao Qin

      Version of Record online: 17 NOV 2017 | DOI: 10.1002/smr.1919

      Thumbnail image of graphical abstract

      The POSIX threads (Pthreads) library is a thread API for C/C++ to control parallel threads and spawn concurrent process flows. Programming in Pthreads usually suffers from undesirable deadlock, data race, and race condition problems due to the potential nondeterministic execution behaviors between parallel threads. Dthreads, as another multithreading model that re-implements Pthreads, was proposed by Liu et al for efficient deterministic multithreading. They found out that, under specific test cases, Dthreads can effectively prevent data races. However, no comparison test has been made with Pthreads.

      To perform a formal comparison between Pthreads and Dthreads over deadlocks, data races, and race conditions, in this paper, we adopt CSP (communicating sequential processes) as a formal model for specifying part of API functions in Pthreads and Dthreads and illustrate the model construction using 4 classical example programs. By feeding the models into the model checker PAT (process analysis toolkit), we have verified that deadlocks and data races exist in Pthreads, but do not exist in Dthreads, for the considered programs. We have also found that neither of them can prevent race conditions. Our comparative modelling and verification of Pthreads and Dthreads show that though Dthreads cannot prevent all the deadlock situations, shown by verification results of another 2 example programs, Dthreads is better that Pthreads on eliminating data races and preventing deadlocks. Considering limited scalability of Dthreads, we have introduced a new programming model to support coarse granularity in bank transfer. Our modelling is also extended by covering the synchronization operations in Liu et al work.


    1. Internal quality assurance for external contributions in GitHub: An empirical investigation

      Yao Lu, Xinjun Mao, Zude Li, Yang Zhang, Tao Wang and Gang Yin

      Version of Record online: 17 NOV 2017 | DOI: 10.1002/smr.1918

      Thumbnail image of graphical abstract

      We investigate the internal code quality of the casual contributors and main contributors in GitHub and find that the casual contributors introduced greater quantity and severity of code quality issues than the main contributors. On the basis of the findings, we conduct a survey to understand the developers’ work practices in terms of internal quality assurance in GitHub. Finally, we discuss the Continuous Inspection paradigm as an alternative quality management method for industrial practices.

    2. Database engines: Evolution of greenness

      A. V. Miranskyy, Z. Al-zanbouri, D. Godwin and A. B. Bener

      Version of Record online: 16 NOV 2017 | DOI: 10.1002/smr.1915

    3. Onboarding software developers and teams in three globally distributed legacy projects: A multi-case study

      Ricardo Britto, Daniela S. Cruzes, Darja Smite and Aivars Sablis

      Version of Record online: 3 NOV 2017 | DOI: 10.1002/smr.1921


    1. Resilient computing on ROS using adaptive fault tolerance

      Michael Lauer, Matthieu Amy, Jean-Charles Fabre, Matthieu Roy, William Excoffon and Miruna Stoicescu

      Version of Record online: 3 NOV 2017 | DOI: 10.1002/smr.1917

      Thumbnail image of graphical abstract

      Modern Cyber-Physical Systems need not only to be dependable, they need to be resilient: they need to stay dependable in spite of changes such as updates and upgrades. To achieve this goal, we use a component-based approach to design and implement adaptive fault tolerance mechanisms. We show how this can be done in the ROS (Robot Operating System) framework and what are its limitations and benefits.

    2. Software quality model for a research-driven organization—An experience report

      Marcin Wolski, Bartosz Walter, Szymon Kupiński and Jakub Chojnacki

      Version of Record online: 12 OCT 2017 | DOI: 10.1002/smr.1911

      Thumbnail image of graphical abstract

      We propose a hierarchical quality evaluation framework. It is customized to the needs of innovative projects by identification of external funding agency, an additional stakeholder in the system. The framework is supplied with data coming from various sources.

    3. Automated conflict detection between medical care pathways

      Philip Weber, João Bosco Ferreira Filho, Behzad Bordbar, Mark Lee, Ian Litchfield and Ruth Backman

      Version of Record online: 10 OCT 2017 | DOI: 10.1002/smr.1898

      Thumbnail image of graphical abstract

      We present BPMN+V, a representation for modeling clinical care pathways, particularly with regard to their dependence on and interaction with data. Using this notation, we describe and evaluate a method to detect conflicts between multiple care pathways followed concurrently.

    4. You have full text access to this OnlineOpen article
      Context-based approach to prioritize code smells for prefactoring

      Natthawute Sae-Lim, Shinpei Hayashi and Motoshi Saeki

      Version of Record online: 14 SEP 2017 | DOI: 10.1002/smr.1886

      Thumbnail image of graphical abstract

      In this paper, we propose a technique to prioritize code smells using the developers' context. We applied impact analysis to a list of issues in issue tracking system and used the results to specify the context-relevant smells. Results show that our approach can provide developers with a list of prioritized code smells related to their current context. This paper also presents empirical studies and a controlled experiment related to the proposed technique.

    5. Cloud-based performance management of community care services

      Benjamin Eze, Craig Kuziemsky and Liam Peyton

      Version of Record online: 7 SEP 2017 | DOI: 10.1002/smr.1897

      Thumbnail image of graphical abstract

      In this paper, we analyze a case study to provide a systematic framework for performance management of community care across a large urban health region in support of Triple Aim. Figure 1A depicts the system before the case study with minimal interoperability and limited ability to do performance management. Figure 1B shows the cloud-based framework for performance management services (data hosting, data collection, reporting and analysis, and subscription services) that has been implemented for community support services agencies and the community home care delivery.


    1. Managing risk in high assurance systems by optimizing topological resources

      Paul Hyden, Richard G. McGrath, Ira S. Moskowitz and Stephen Russell

      Version of Record online: 25 AUG 2017 | DOI: 10.1002/smr.1887

      Thumbnail image of graphical abstract

      We explore strategies for manipulating the topology of a network to promote increased and pragmatic high assurance systems. Topology matters to network threats and security, and the relative distance between nodes can impact the rate of dispersion of viruses, as well as access times in denial of service, probing, and insider threat attacks. This work provides network analysts with an option to include other measures such as risk assessments to the construction and management of high assurance systems.


    1. Online verification in cyber-physical systems: Practical bounds for meaningful temporal costs

      Marcello M. Bersani and Marisol García-Valls

      Version of Record online: 31 JUL 2017 | DOI: 10.1002/smr.1880


    1. You have full text access to this OnlineOpen article
      Labelling relevant events to support the crisis management operator

      Tommaso Zoppi, Andrea Ceccarelli, Francesco Lo Piccolo, Paolo Lollini, Gabriele Giunta, Vito Morreale and Andrea Bondavalli

      Version of Record online: 23 MAY 2017 | DOI: 10.1002/smr.1874

    2. Protecting Internet users from becoming victimized attackers of click-fraud

      Md Shahrear Iqbal, Mohammad Zulkernine, Fehmi Jaafar and Yuan Gu

      Version of Record online: 24 APR 2017 | DOI: 10.1002/smr.1871

      Thumbnail image of graphical abstract

      Internet attackers are increasingly trying to control innocent users' machines to avoid legal consequences. In this work, we study one of such attacks, namely, click fraud. We design and develop a method to thwart click fraud and propose to include it in the anti-malware service of the operating systems. We show that our method is successful in detecting fraudulent click bots in both the desktop and mobile environment without any user intervention.

    3. You have full text access to this OnlineOpen article
      Systems-of-systems modeling using a comprehensive viewpoint-based SysML profile

      Marco Mori, Andrea Ceccarelli, Paolo Lollini, Bernhard Frömel, Francesco Brancati and Andrea Bondavalli

      Version of Record online: 19 APR 2017 | DOI: 10.1002/smr.1878

    4. Extending Category Partition's Base Choice criterion to better support constraints

      Sunint Kaur Khalsa and Yvan Labiche

      Version of Record online: 10 APR 2017 | DOI: 10.1002/smr.1868

      Thumbnail image of graphical abstract

      In this paper, we introduce 2 extensions to the base choice criterion, namely, Constrained Base Choice and Extended Constrained Base Choice to specifically account for (complex) constraints on choices. We use a number of academic and industrial case studies to compare different adequacy criteria, including the new ones, in terms of cost and effectiveness at finding faults. Results show the performance of the new criteria equivalent to a 3-way combination criterion with a much smaller cost.


  1. 1 - 31