359 results on '"Lago, P"'
Search Results
2. A Sustainability-quality Model
- Author
-
Condori Fernandez, O.N. and Lago, P.
- Subjects
Sustainability ,Green IT ,Software Engineering ,Connected World ,Science for Sustainability ,Quality assessment - Published
- 2018
3. Green ICT Research and Challenges
- Author
-
Verdecchia, Roberto, Ricchiuti, Fabio, Hankel, A.C., Lago, P., Procaccianti, G., Wohlgemuth, Volger, Fuchs-Kittowski, Frank, Wittmann, Jochen, Software and Sustainability (S2), Software & Services, and Network Institute
- Subjects
Connected World ,green ICT ,Science for Sustainability ,sustainability ,software engineering - Abstract
Green ICT is a young and pioneering field. Therefore, as often pointed out in the literature, studies evaluating the main research activities and the general direction of this new and continuously evolving research field are scarce and often incomplete. This study presents a quantitative analysis, through a systematic literature review, of the main activities, trends and issues that can be found in the Green ICT literature. The research reports the analysis of various characteristics of the studies gathered for this review, such as addressed type of effect and year of publication. It also led to the identification of the most recurrent issues of the research and development of Green ICT strategies. Finally, this study proposes a new category of effect (people awareness) that, even if often addressed by the field, is not included in current Green ICT frameworks.
- Published
- 2017
4. Software that meets its intent
- Author
-
Huisman, M., Bos, H., Brinkkemper, S., van Deursen, A., Groote, J.F., Lago, P., van de Pol, J., Visser, E., Margaria, T., Steffen, B., Formal System Analysis, Computer Systems, Network Institute, Systems and Network Security, Software and Sustainability (S2), Software & Services, and Formal Methods and Tools
- Subjects
Model checking ,Program verifier ,business.industry ,Computer science ,Reliability (computer networking) ,Proof checker ,Control (management) ,Satisfiability modulo theory ,Realization (linguistics) ,020207 software engineering ,02 engineering and technology ,Intended behavior ,computer.software_genre ,Software ,Model checker ,020204 information systems ,Automated proof checking ,0202 electrical engineering, electronic engineering, information engineering ,Software system ,Data mining ,Software engineering ,business ,computer - Abstract
Software is widely used, and society increasingly depends on its reliability. However, software has become so complex and it evolves so quickly that we fail to keep it under control. Therefore, we propose intents: fundamental laws that capture a software systems’ intended behavior (resilient, secure, safe, sustainable, etc.). The realization of this idea requires novel theories, algorithms, tools, and techniques to discover, express, verify, and evolve software intents. Thus, future software systems will be able to verify themselves that they meet their intents. Moreover, they will be able to respond to deviations from intents through selfcorrection. In this article we propose a research agenda, outlining which novel theories, algorithms and tools are required.
- Published
- 2016
- Full Text
- View/download PDF
5. A Decision Model for Cyber-foraging Systems
- Author
-
Lewis, G.A., Lago, P., Avgeriou, P., Henry Muccini, Luciano Baresi, Vittorio Cortellessa, Eric Harper, Software Engineering, Henry Muccini, null, Luciano Baresi, null, Vittorio Cortellessa, null, Eric Harper, null, Software and Sustainability (S2), Software & Services, and Network Institute
- Subjects
software architecture ,SDG 16 - Peace ,Cyber foraging ,mobile cloud computing ,business.industry ,Computer science ,SDG 16 - Peace, Justice and Strong Institutions ,cyber-foraging ,020206 networking & telecommunications ,020207 software engineering ,Cloud computing ,02 engineering and technology ,Service-oriented modeling ,Justice and Strong Institutions ,Mobile cloud computing ,0202 electrical engineering, electronic engineering, information engineering ,Systems design ,decision model ,Data architecture ,Software engineering ,business ,Software architecture ,Decision model - Abstract
Cyber-foraging is a technique to enable mobile de- vices to extend their computing power and storage by offloading computation or data to more powerful servers located in the cloud or in single-hop proximity. While there is a large amount of research in this area, the reality is that there are not many deployed, operational cyber-foraging systems. As these systems become more prevalent due to their proven benefits, combined with the emergence of micro data centers and edge clouds, a need will arise for guidance on their architecture and development. To start providing this guidance, we present a decision model based on a mapping of functional and non-functional requirements for cyber-foraging systems to a set of architectural tactics. The decision model was validated by developers to obtain an expert opinion on its correctness and usefulness for guiding the architecture, design, and evolution of cyber-foraging systems that meet their intended functional and non-functional requirements, while understanding the effects of decisions.
- Published
- 2016
- Full Text
- View/download PDF
6. Workshop on SHAring and Reusing architectural Knowledge (SHARK 2011)
- Author
-
Avgeriou, P., Lago, P., Kruchten, P., Taylor, R.N., Gall, H., Medvidovic, N., Taylor, R.N., Gall, H., Medvidovic, N., Software Engineering, Software and Sustainability (S2), Network Institute, and Software & Services
- Subjects
Knowledge Management ,Documentation ,Software Architecture ,Computer science ,business.industry ,Representation (arts) ,Reuse ,Software engineering ,business ,Software architecture ,Personalization - Abstract
Architectural Knowledge (AK) is defined as the integrated representation of the software architecture of a software-intensive system or family of systems along with architectural decisions and their rationale, external influence and the development environment. The SHARK workshop series focuses on current methods, languages, and tools that can be used to extract, represent, share, apply, and reuse AK, and the experimentation and/or exploitation thereof. This sixth edition of SHARK will discuss, among other topics, the approaches for AK personalization, where knowledge is not codified through templates or annotations, but it is exchanged through the discussion between the different stakeholders. © 2011 ACM.
- Published
- 2011
- Full Text
- View/download PDF
7. Leveraging Software Architectures through the ISO/IEC 42010 standard: A Feasibility Study
- Author
-
Tamburri, D.A., Lago, P., Muccini, H., Proper, E., Lankhorst, M., Schoenherr, M., Proper, E., Lankhorst, M., Schoenherr, M., Software and Sustainability (S2), Network Institute, and Software & Services
- Subjects
Engineering ,Architecture description language ,business.industry ,Process (engineering) ,Darwin (ADL) ,Systems engineering ,Enterprise architecture ,Information technology ,Viewpoints ,Software engineering ,business ,Software architecture ,Software architecture description - Abstract
The state of the practice in enterprise and software architecture learnt that relevant architectural aspects should be illustrated in multiple views, targeting the various concerns of different stakeholders. This has been expressed a.o. in the ISO/IEC 42010 Standard on architecture descriptions. In the same vein, the research community observed that Architecture Description Languages, or ADLs, should be developed to address stakeholders' concerns concentrating on the use of viewpoints for their description. This notwithstanding, we notice today a proliferation of ADLs impervious to these guidelines. This imperviousness creates a gap between what the IT industry requires and what ADLs can provide. This gap makes it impossible for practitioners to choose and use the best-fit ADL for his/her requirements. To fill this gap, we must analyze the existing ADLs, and mine and make explicit their addressed concerns, views, viewpoints, and stakeholders. Such an explicit overview can provide practitioners with pragmatic information for selecting the most suitable ADL, and hence support them in the architecting process. This paper reports on initial results in this direction. Given a specific ADL (namely, DARWIN/FSP), it presents a feasibility study on the methodology mapping the concepts of the ISO/IEC 42010 on the DARWIN/FSP ADL. © 2010 Springer-Verlag.
- Published
- 2011
- Full Text
- View/download PDF
8. Theoretical Underpinnings and Reviews
- Author
-
Grundy, J., Lago, P., Avgeriou, P., Hall, J., Mistrík, I., Avgeriou, Paris, Grundy, John, Hall, Jon G., Lago, Patricia, Mistrík, Ivan, Software and Sustainability (S2), Network Institute, Software & Services, and Software Engineering
- Subjects
Software ,Requirements engineering ,business.industry ,Computer science ,Design rationale ,Stakeholder ,Software system ,Architecture ,Software architecture ,Software engineering ,business - Abstract
Requirements are fundamental to any engineered system. They capture the key stakeholder functional needs, constraints on the operation of the system, and often form a basis for contracting, testing and acceptance [1, 2]. Architecture captures the structuring of software solutions, incorporating not just functional properties of a system but design rationale, multi-layer abstractions and architectural knowledge [3, 4]. One can not exist without the other. Requirements need to be realized in a software system, described in essence by appropriate software architectures. Architecture must deliver on specified functional and non-functional requirements in order for the software system to be at all useful.
- Published
- 2011
- Full Text
- View/download PDF
9. A frame of reference for SOA migration
- Author
-
Razavian, M., Lago, P., Di Nitto, E., Yahyapour, R., Software and Sustainability (S2), Network Institute, Software & Services, Information Systems IE&IS, Elisabetta Di Nitto, null, and Ramin Yahyapour, null
- Subjects
Reverse engineering ,Service (systems architecture) ,Process management ,OASIS SOA Reference Model ,Computer science ,Business process ,business.industry ,Legacy system ,SDG 10 - Reduced Inequalities ,computer.software_genre ,Frame of reference ,Order (exchange) ,Key (cryptography) ,Software engineering ,business ,computer - Abstract
Migration of legacy systems to service-based systems constitutes a key challenge of service-oriented system engineering, namely rehabilitation of pre-existing enterprise assets while conforming to service engineering principles. Over a decade there has been an increasing interest in the approaches addressing SOA migration. These approaches mainly differ in 'what is migrated' and 'how the migration is performed'. Such differences aggravate achieving a general understanding of 'what SOA migration entails'. To solve this problem, we conducted a systematic review that extracts main migration categories, called SOA migration families, from the approaches proposed in the research community. Based on the results of the systematic review, we describe eight distinct families along with their characteristics and goals. These families represent a first frame of reference for SOA migration which brings order and enhances understanding on how migration can be carried out. © 2010 Springer-Verlag.
- Published
- 2010
- Full Text
- View/download PDF
10. Introduction
- Author
-
Hall, J. G., Grundy, J., Mistrík, I., Lago, P., Avgeriou, P., Avgeriou, Paris, Grundy, John, Hall, Jon G., Lago, Patricia, Mistrík, Ivan, and Software Engineering
- Subjects
Software development process ,Software ,Requirements engineering ,business.industry ,Computer science ,Software requirements specification ,Software requirements ,Software engineering ,business ,Software architecture - Abstract
This book describes current understanding and use of the relationship between software requirements and software architectures.
- Published
- 2011
11. Software Architecture of Wireless Services.
- Author
-
Morisio, Maurizio, Torchiano, Marco, Kaloja, Jarmo, Ihme, Tuomas, Lago, Patricia, and Niemela, Eila
- Published
- 2006
- Full Text
- View/download PDF
12. GSEEM: A European Master Program on Global Software Engineering.
- Author
-
LAGO, PATRICIA, MUCCINI, HENRY, BEUS-DUKIC, LJERKA, CRNKOVIC, IVICA, and PUNNEKKAT, SASIKUMAR
- Subjects
SOFTWARE engineering ,ENGINEERING students ,COMPUTER software development ,SOFTWARE architecture ,ENGINEERS - Abstract
This paper presents a novel European Master programme on Software Engineering (SE), being put forward by four leading institutions from Sweden, UK, Netherlands and Italy. The Global SE European Master (GSEEM) programme aims to provide students with an excellence in SE based on sound theoretical foundations and practical experience, as well as preparing them to participate in the global development of complex and large software systems. GSEEM has been designed with two aspects of note: 1) the three specialization profiles in which the consortium excels: Software Architecting, Real-time Embedded Systems Engineering, and Web Systems and Services Engineering; 2) an innovative concept of 'shared modules', delivered all together by multiple institutions. Four types of shared modules are foreseen: 'parallel' twin modules, which run remotely between universities, 'shifted' modules, which teach SE concepts incrementally with shifts in study locations and timeline, 'complementary' modules in which complementary SE concepts are taught in parallel through shared projects, and 'common' modules, which share the presentations and the project. The profiles realize 'integrated knowledge' by complementing partial knowledge available at partner institutions. The paper presents some of the important issues faced during the design of the program and explains how GSEEM achieves the objectives of educating global software engineers. The lessons learned from the GSEEM design are of a technical, pedagogical and organisational or administrative nature. [ABSTRACT FROM AUTHOR]
- Published
- 2008
13. Changing focus: making sustainability a major theme in existing university modules.
- Author
-
O'Neill, Ian and Gui, Meei Mei
- Subjects
SOFTWARE engineering ,SUSTAINABLE development ,CHEMICAL engineering ,SUSTAINABILITY ,CHEMICAL engineers - Abstract
In this article we report some practical experiences of integrating education for sustainable development into established university teaching modules. The 2021 guidance on Education for Sustainable Development from the UK's standards bodies QAA and Advance HE is an important and urgent motivation for introducing sustainability into university courses. We take as our context a first-year introductory module in Chemical Products and Process in the School of Chemistry and Chemical Engineering and a second-year module in Software Engineering and Systems Development in the School of Electronics, Electrical Engineering and Computer Science, both at Queen's University Belfast. We outline some of the challenges of adding new themes to existing courses. We comment on ways of presenting themes of sustainable development alongside existing module content, and we indicate the type of work students produced. We identify approaches that resulted in good outcomes, and outline changes we have made with a view to improved future outcomes. [ABSTRACT FROM AUTHOR]
- Published
- 2024
- Full Text
- View/download PDF
14. A Proposal of Behavior-Based Consumption Profiles for Green Software Design.
- Author
-
Larracoechea, Jorge Andrés, Ilarri, Sergio, and Roose, Philippe
- Subjects
MODELING languages (Computer science) ,SOFTWARE engineering ,SOFTWARE as a service ,DESIGN software ,COMPUTER software development - Abstract
Despite the increase in the efficiency of energy consumption in information and communication technology, software execution and its constraints are responsible for how energy is consumed in hardware hosts. Consequently, researchers have promoted the development of sustainable software with new development methods and tools to lessen its hardware demands. However, the approaches developed so far lack cohesiveness along the stages of the software development life cycle (SDLC) and exist outside of a holistic method for green software development (GSD). In addition, there is a severe lack of approaches that target the analysis and design stages of the SDLC, leaving software architects and designers unsupported. In this article, we introduce our behavior-based consumption profile (BBCP) external Domain-Specific Language (DSL), aimed at assisting software architects and designers in modeling the behavior of software. The models generated with our external DSL contain multiple sets of properties that characterize features of the software's behavior. In contrast to other modeling languages, our BBCP emphasizes how time and probability are involved in software execution and its evolution over time, helping its users to gather an expectation of software usage and hardware consumption from the initial stages of software development. To illustrate the feasibility and benefits of our proposal, we conclude with an analysis of the model of a software service created using the BBCP, which is simulated using Insight Maker to obtain an estimation of hardware consumption and later translated to energy consumption. [ABSTRACT FROM AUTHOR]
- Published
- 2024
- Full Text
- View/download PDF
15. Managing non-trivial internet-of-things systems with conversational assistants: A prototype and a feasibility experiment.
- Author
-
Lago, André Sousa, Dias, João Pedro, and Ferreira, Hugo Sereno
- Subjects
NATURAL language processing ,HOME wireless technology ,ARCHITECTURAL details ,SMART homes - Abstract
• Jarvis is a new approach for managing IoT spaces in a conversational way. • Casuality queries enables users to understand why something happened. • The feasibility experiment showcased that the approach works and users prefer it. Internet-of-Things has reshaped the way people interact with their surroundings and automatize the once manual actions. In a smart home, controlling the Internet-connected lights is as simple as speaking to a nearby conversational assistant. However, specifying interaction rules, such as making the lamp turn on at specific times or when someone enters the space is not a straightforward task. The complexity of doing such increases as the number and variety of devices increases, along with the number of household members. Thus, managing such systems becomes a problem, including finding out why something has happened. This issue lead to the birth of several low-code development solutions that allow users to define rules to their systems, at the cost of discarding the easiness and accessibility of voice interaction. In this paper we extend the previous published work on Jarvis [1] , a conversational interface to manage IoT systems that attempts to address these issues by allowing users to specify time-based rules, use contextual awareness for more natural interactions, provide event management and support causality queries. A proof-of-concept is presented, detailing its architecture and natural language processing capabilities. A feasibility experiment was carried with mostly non-technical participants, providing evidence that Jarvis is intuitive enough to be used by common end-users, with participants showcasing an overall preference by conversational assistants over visual low-code solutions. [ABSTRACT FROM AUTHOR]
- Published
- 2021
- Full Text
- View/download PDF
16. Systematic analysis of software development in cloud computing perceptions.
- Author
-
Khan, Habib Ullah, Ali, Farhad, and Nazir, Shah
- Abstract
Cloud computing is characterized as a shared computing and communication infrastructure. It encourages the efficient and effective developmental processes that are carried out in various organizations. Cloud computing offers both possibilities and solutions of problems for outsourcing and management of software developmental operations across distinct geography. Cloud computing is adopted by organizations and application developers for developing quality software. The cloud has the significant impact on utilizing the artificial complexity required in developing and designing quality software. Software developmental organization prefers cloud computing for outsourcing tasks because of its available and scalable nature. Cloud computing is the ideal choice utilized for development modern software as they have provided a completely new way of developing real‐time cost‐effective, efficient, and quality software. Tenants (providers, developers, and consumers) are provided with platforms, software services, and infrastructure based on pay per use phenomenon. Cloud‐based software services are becoming increasingly popular, as observed by their widespread use. Cloud computing approach has drawn the interest of researchers and business because of its ability to provide a flexible and resourceful platform for development and deployment. To determine a cohesive understanding of the analyzed problems and solutions to improve the quality of software, the existing literature resources on cloud‐based software development should be analyzed and synthesized systematically. Keyword strings were formulated for analyzing relevant research articles from journals, book chapters, and conference papers. The research articles published in (2011–2021) various scientific databases were extracted and analyzed for retrieval of relevant research articles. A total of 97 research publications are examined in this SLR and are evaluated to be appropriate studies in explaining and discussing the proposed topic. The major emphasis of the presented systematic literature review (SLR) is to identify the participating entities of cloud‐based software development, challenges associated with adopting cloud for software developmental processes, and its significance to software industries and developers. This SLR will assist organizations, designers, and developers to develop and deploy user‐friendly, efficient, effective, and real time software applications. [ABSTRACT FROM AUTHOR]
- Published
- 2024
- Full Text
- View/download PDF
17. Adaptive Test Suits Generation for Self-Adaptive Systems Using SPEA2 Algorithm.
- Author
-
Jamil, Muhammad Abid, Nour, Mohamed K., Alotaibi, Saud S., Hussain, Mohammad Jabed, Hussaini, Syed Mutiullah, and Naseer, Atif
- Subjects
ADAPTIVE testing ,EVOLUTIONARY algorithms ,ALGORITHMS ,TEST systems ,SOFTWARE engineering - Abstract
Self-adaptive systems are capable of reconfiguring themselves while in use to reduce the risks forced by environments for which they may not have been specifically designed. Runtime validation techniques are required because complex self-adaptive systems must consistently offer acceptable behavior for important services. The runtime testing can offer further confidence that a self-adaptive system will continue to act as intended even when operating in unknowable circumstances. This article introduces an evolutionary framework that supports adaptive testing for self-adaptive systems. The objective is to ensure that the adaptive systems continue to operate following its requirements and that both test plans and test cases continuously stay relevant to shifting operational conditions. The proposed approach using the Strength Pareto Evolutionary Algorithm 2 (SPEA2) algorithm facilitates both the execution and adaptation of runtime testing operations. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
18. Requirements engineering for sustainable software systems: a systematic mapping study.
- Author
-
Bambazek, Peter, Groher, Iris, and Seyff, Norbert
- Subjects
REQUIREMENTS engineering ,AGILE software development ,SUSTAINABLE engineering ,SOFTWARE engineers ,SOFTWARE development tools ,SOFTWARE engineering - Abstract
Various approaches toward the development of sustainable software systems have been proposed by the requirements engineering community over the last decade. We conducted a systematic mapping study, analyzed 55 publications, and identified 29 approaches that have been published since the year 2000. We analyzed how the approaches evolved over time and how the publications and authors are influenced by each other. Furthermore, the approaches are analyzed in terms of their supported requirements engineering activities, along with the evidence provided in the publications. Additionally, we also analyzed which sustainability definitions have been used, if an iterative application of the approaches is discussed, and if the approaches also provide a tool-support for practitioners. We noticed an increase of publications on requirements engineering approaches toward sustainability in the last years, whereas a majority discuss sustainability based on the same multi-dimensional concept. Although different case studies have been already conducted, we noticed a lack of an industrial application. Our main findings concern the need of an evaluation on how the proposed requirements engineering approaches can also be applied in agile software development processes. Additionally, we also promote the development of supporting software tools to support practitioners in adapting the proposed approaches. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
19. Technical debt in systems engineering—A systematic literature review.
- Author
-
Kleinwaks, Howard, Batchelor, Ann, and Bradley, Thomas H.
- Subjects
LITERATURE reviews ,SYSTEMS engineering ,PRAGMATICS ,DEBT management ,SOFTWARE engineering - Abstract
The metaphor of "technical debt" is used in software engineering to describe technical solutions that may be pragmatic in the near‐term but may have a negative long‐term impact. Similar decisions and similar dynamics are present in the field of systems engineering. This work investigates the current body of knowledge to identify if, and how, the technical debt metaphor is used within the systems engineering field and which systems engineering lifecycle stages are most susceptible to technical debt. A systematic literature review was conducted on 354 papers in February 2022, of which 18 were deemed relevant for inclusion in the study. The results of the systematic literature review show that the technical debt metaphor is not prevalent within systems engineering research and that existing research is limited to specific fields and theoretical discussions. This paper concludes with recommendations for future work to establish a research agenda on the identification and management of technical debt within systems engineering. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
20. A survey on what users think about SysML.
- Author
-
Santos, Tauany L. S. and Soares, Michel S.
- Subjects
SOFTWARE engineering ,SYSTEMS software ,UNIFIED modeling language ,SYSTEMS development ,COMPUTER software development ,SYSTEMS engineering - Abstract
Systems Modeling Language (SysML) has been applied in the past years to a variety of software and systems engineering projects, by hundreds of researchers, engineers, and other systems and software professionals. Thus, it is expected that all this experience has been described in research articles. Therefore, we propose a survey describing what practitioners and researchers think about this modeling language, the actual use of SysML, and how SysML is used in the software and system engineering life cycle. This article describes a survey on SysML, answering questions such as the most used diagrams for each phase of the development of a system, the most common domains, and other data about the participants. The survey was answered by 343 participants from 38 countries, mostly systems engineers, software and systems architects, and researchers. Industry and academia can use our results (i) for assisting researchers and engineers to select appropriate diagrams for each software and systems development phase, (ii) for a better understanding of which industry domains SysML is most commonly applied, (iii) as a reference for identifying which types of systems are modeled with SysML, (iv) for knowing which software tools are most used, and (v) which other modeling languages are most commonly integrated with SysML for software and systems development. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
21. Conflict management techniques for model merging: a systematic mapping review.
- Author
-
Sharbaf, Mohammadreza, Zamani, Bahman, and Sunyé, Gerson
- Subjects
CONFLICT management ,SOFTWARE upgrades ,SOFTWARE engineers ,SOFTWARE engineering ,PATTERN matching - Abstract
Model merging conflicts occur when different stakeholders aim to integrate their contradicting changes that are applied concurrently to update software models. We conduct an extensive systematic mapping study on conflict management techniques and relevant collaboration attributes to the versioning and merging models from 2001 to the middle of 2021. This study follows the standard guidelines within the software engineering domain. We analyzed a total of 105 articles extracted from an initial pool of more than 1800 articles to infer a taxonomy for conflict management techniques. We use this taxonomy to classify existing approaches to understand characteristics, shortcomings, and challenges on conflict management techniques in merging models. It also provides a solid foundation for future work in this area. We show that syntactic conflicts are the most studied type and that the top three popular conflict detection techniques are constraint violation, change overlapping, and pattern matching. We observe the lack of a comprehensive state-of-the-art comparison between academic or industrial tools, as well as the need for real-world case studies. Finally, we show that recent trends have focused on online collaboration, where teams of stakeholders work on large-scale models. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
22. A Systems Thinking Approach to Improve Sustainability in Software Engineering—A Grounded Capability Maturity Framework.
- Author
-
Sriraman, Gopalakrishnan and Raghunathan, Shriram
- Abstract
Sustainability has become a critical issue for the software industry as the environmental impact of software development and use increases. To address this issue, organizations need a framework for developing and accessing sustainable software practices. In this study, we reviewed the existing literature, models, and practices in this domain as well as carried out surveys and interviews to understand the reality, practices, and challenges on the ground. We identified a set of research questions to discover why sustainability is important, what actions can be taken to improve it, and how and when they can be implemented. This study highlighted the limitations of existing models and the need to address the research gaps. Existing research is limited by a narrow focus on specific domains such as the environment and energy or a specific phase of software development. We aim to address these through the proposed comprehensive software sustainability capability framework (SSCF), which provides a "ready reckoner", allowing any organization to assess their current software sustainability and the capabilities and metrics they could focus on to improve sustainable software maturity. This paper also provides detailed assessment criteria, metrics, and a roadmap that can be used by any software organization to enhance their sustainability. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
23. Industrial Project-based Course on Service Oriented Design -Experience Sharing
- Author
-
Raibulet, Claudia, Lago, Patricia, Raibulet, C, Lago, P, Software and Sustainability (S2), Network Institute, Software Engineering, Amsterdam Sustainability Institute, and Software & Services
- Subjects
education ,project-based course ,project ,Software engineering ,service oriented design ,industrial project ,service oriented ,course ,ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI - Abstract
An increasing number of academic courses adopt a project-based evaluation of the students' knowledge and skills. In such courses, students gather development and management experiences similar to those present in industry. In this paper, we present an overview on the Service Oriented Design Master course where an industrial project proposed in collaboration with an IT company is developed by students in teams. We share our experience concerning organizational issues to be addressed before the beginning of the course, during the course, and after the end of the course. Further, we provide some information about the current edition of the course and the shareable course material.
- Published
- 2022
- Full Text
- View/download PDF
24. Design thinking and creativity of colocated versus globally distributed software developers.
- Author
-
Jolak, Rodi, Wortmann, Andreas, Liebel, Grischa, Umuhoza, Eric, and Chaudron, Michel R. V.
- Subjects
DESIGN thinking ,GROUPWARE (Computer software) ,SOFTWARE architecture ,DESIGN software ,CREATIVE ability ,SOFTWARE engineering - Abstract
Designing software is an activity in which software developers think and make design decisions that shape the structure and behavior of software products. Designing software is one of the least understood software engineering activities. In a collaborative design setting, various types of distances can lead to challenges and effects that potentially affect how software is designed. To contribute to a better understanding of collaborative software design, we investigate how communication gaps caused by social and geographic distances affect its design thinking and the creativity of its discussions. To this end, we conducted a multiple‐case study exploring the design thinking and creativity of colocated and distributed software developers in a collaborative design setting. Compared with colocated developers, distributed developers spend less time on exploring the problem space, which could be related to different sociotechnical challenges, such as lack of awareness and common understanding. Distributed development does not seem to affect the creativity of their activities. Developers engaging in collaborative design need to be aware that problem space exploration is reduced in a distributed setting. Unless distributed teams take compensatory measures, this could adversely affect the development. Regarding the effect distance has on creativity, our results are inconclusive and further studies are needed. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
25. A systematic mapping study of software performance research.
- Author
-
Han, Xue, Yu, Tingting, and Yan, Gongjun
- Subjects
COMPUTER software quality control ,SOFTWARE engineering ,CARTOGRAPHY software ,COMPUTER software testing ,COMPUTER software development ,SOFTWARE engineers ,PERFORMANCE theory - Abstract
Summary: Context: Software performance is crucial for ensuring the quality of software products. As one of the non‐functional requirements, the few efforts devoted to software performance have often been neglected until a later phase in the software development life cycle (SDLC). The lack of clarity of what software performance research literature is available prevents researchers from understanding what software performance research fields are available. It also creates difficulty for practitioners to adopt state‐of‐the‐art software performance techniques. Software performance research is not as organized as other established research topics such as software testing. Thus, it is essential to conduct a systematic mapping study as a first step to provide an overview of the latest research literature available in software performance. Objective: The objective of this systematic mapping study is to survey and map software performance research literature into suitable categories and to synthesize the literature data for future access and reference. Method: This systematic mapping study conducts a manual examination by querying research literature in noble journals and proceedings in software engineering in the past decade. We examine each paper manually and identify primary studies for further analysis and synthesis according to the pre‐defined inclusion criteria. Lastly, we map the primary studies based on their corresponding classification category. Results: This systematic mapping study provides a state‐of‐the‐art literature mapping in software performance research. We have carefully examined 222 primary studies out of 2000+ research literature. We have identified six software performance research categories and 15 subcategories. We generate the primary study mapping and report five research findings. Conclusions: Unlike established research fields, it is unclear what types of software performance research categories are available to the community. This work takes the systematic mapping study approach to survey and map the latest software performance research literature. The study results provide an overview of the paper distribution and a reference for researchers to navigate research literature on software performance. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
26. Adaptive Security for Self-Protection of Mobile Computing Devices.
- Author
-
Ahmad, Aakash, Malik, Asad Waqar, Alreshidi, Abdulrahman, Khan, Wilayat, and Sajjad, Maryam
- Subjects
CONTEXT-aware computing ,COMPUTER security ,DATA privacy ,DATA security ,AUTONOMIC computing ,MOBILE computing - Abstract
Mobile computing has emerged as a pervasive technology that empowers its users with portable computation and context-aware communication. Smart systems and infrastructures can exploit portable and context-aware computing technologies to provide any time, any place digitized services on the go. Despite the offered benefits, such as portability, context-sensitivity, and high connectivity, mobile computing also faces some critical challenges. These challenges include resource poverty as well as data security and privacy that need to be addressed to increase the pervasiveness of mobile systems. We propose to provide a self-protection mechanism for mobile devices against the unforeseen security threats that can attack the critical resources of mobile devices. We have unified the concepts of autonomic computing and computer security to develop a framework that enables adaptive security to dynamically configure the security measures of a mobile device. We have developed a framework - an android-based prototype - that supports automation and user decision to protect the critical hardware and software resources of a device. Evaluation results demonstrate (i) framework's accuracy for runtime detection and minimization of threats, and (ii) framework's efficiency for device's resource utilization. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
27. Toward Creating Software Architects Using Mobile Project-Based Learning Model (Mobile-PBL) for Teaching Software Architecture.
- Author
-
Al-Qora'n, Lamis F., Jawarneh, Ali, and Nganji, Julius T.
- Subjects
MOBILE learning ,SOFTWARE architecture ,PROJECT method in teaching ,LECTURE method in teaching ,COGNITIVE styles ,SOFTWARE engineering ,STUDENT engagement - Abstract
Project-based learning (PBL) promotes increased levels of learning, deepens student understanding of acquired knowledge, and improves learning motivation. Students develop their ability to think and learn independently through depending on themselves in searching for knowledge, planning, exploration, and looking for solutions to practical problems. Information availability, student engagement, and motivation to learn all increase with mobile learning. The teaching process may be enhanced by combining the two styles. This paper proposes and evaluates a teaching model called Mobile Project-Based Learning (Mobile-PBL) that combines the two learning styles. The paper investigates how significantly Mobile-PBL can benefit students. The traditional lecture method used to teach the software architecture module in the classroom is not sufficient to provide students with the necessary practical experience to earn a career as software architects in the future. Therefore, the first author tested the use of the model for teaching the software architecture module at Philadelphia University's Software Engineering Department on 62 students who registered for a software architecture course over three semesters. She compared the results of using the model for teaching with those results that were obtained when using the project-based learning (PBL) approach alone. The students' opinions regarding the approach, any problems they had, and any recommendations for improvement were collected through a focus group session after finishing each semester and by distributing a survey to students to evaluate the effectiveness of the used model. Comments from the students were positive, according to the findings. The projects were well-received by the students, who agreed that it gave them a good understanding of several course ideas and concepts, as well as providing them with the required practical experience. The students also mentioned a few difficulties encountered while working on the projects, including student distraction from social media and the skills that educators and learners in higher education institutions are expected to have. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
28. Practitioners' experiences with model-driven engineering: a meta-review.
- Author
-
Verbruggen, Charlotte and Snoeck, Monique
- Subjects
SOFTWARE engineers ,SOFTWARE engineering ,COMPUTER software development ,ENGINEERING ,FIELD research ,SCIENTIFIC community - Abstract
The Object Management Group introduced the Model-Driven Architecture in 2001. Since then, the research community has embraced model-driven engineering (MDE), but to a lesser extent than practitioners had hoped. A good awareness of practitioners' challenges, particularly with modeling, is required to ensure the relevance of a research agenda. Therefore, this study conducts a meta-review on the state of practice in using modeling languages for software engineering over the last five years using Kitchenham's guidelines. This study serves as an orientation within the research field and a basis for further research. It contributes to the literature by focusing on publications discussing the practical use of modeling languages and the benefits and problems perceived by practitioners. The main finding of this review is that practitioners benefit from MDE in the following ways: it is beneficial for several stakeholders; it saves cost; it is easy to use; it improves productivity, quality, and understanding of the system; and it provides support for software development activities. However, practitioners continue to face several serious challenges. The most frequently reported issues are the missing tool functionalities. Many studies have found that adhering to the Physics of Notation principles would improve modeling languages. Other findings include that modeling is mostly used for documentation and requirements elicitation, and UML is the most often used. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
29. Blended modeling in commercial and open-source model-driven software engineering tools: A systematic study.
- Author
-
David, Istvan, Latifaj, Malvina, Pietron, Jakob, Zhang, Weixing, Ciccozzi, Federico, Malavolta, Ivano, Raschke, Alexander, Steghöfer, Jan-Philipp, and Hebig, Regina
- Subjects
SOFTWARE development tools ,SOFTWARE engineers ,GREY literature ,SOFTWARE engineering ,USER experience - Abstract
Blended modeling aims to improve the user experience of modeling activities by prioritizing the seamless interaction with models through multiple notations over the consistency of the models. Inconsistency tolerance, thus, becomes an important aspect in such settings. To understand the potential of current commercial and open-source modeling tools to support blended modeling, we have designed and carried out a systematic study. We identify challenges and opportunities in the tooling aspect of blended modeling. Specifically, we investigate the user-facing and implementation-related characteristics of existing modeling tools that already support multiple types of notations and map their support for other blended aspects, such as inconsistency tolerance, and elevated user experience. For the sake of completeness, we have conducted a multivocal study, encompassing an academic review, and grey literature review. We have reviewed nearly 5000 academic papers and nearly 1500 entries of grey literature. We have identified 133 candidate tools, and eventually selected 26 of them to represent the current spectrum of modeling tools. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
30. Exploring the Intersection between Software Maintenance and Machine Learning—A Systematic Mapping Study.
- Author
-
Bastías, Oscar Ancán, Díaz, Jaime, and López Fenner, Julio
- Subjects
SOFTWARE maintenance ,MACHINE learning ,SOFTWARE engineering ,HUMAN capital ,SOFTWARE engineers ,THEATRICAL scenery ,RESEARCH protocols - Abstract
While some areas of software engineering knowledge present great advances with respect to the automation of processes, tools, and practices, areas such as software maintenance have scarcely been addressed by either industry or academia, thus delegating the solution of technical tasks or human capital to manual or semiautomatic forms. In this context, machine learning (ML) techniques play an important role when it comes to improving maintenance processes and automation practices that can accelerate delegated but highly critical stages when the software launches. The aim of this article is to gain a global understanding of the state of ML-based software maintenance by using the compilation, classification, and analysis of a set of studies related to the topic. The study was conducted by applying a systematic mapping study protocol, which was characterized by the use of a set of stages that strengthen its replicability. The review identified a total of 3776 research articles that were subjected to four filtering stages, ultimately selecting 81 articles that were analyzed thematically. The results reveal an abundance of proposals that use neural networks applied to preventive maintenance and case studies that incorporate ML in subjects of maintenance management and management of the people who carry out these tasks. In the same way, a significant number of studies lack the minimum characteristics of replicability. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
31. Cloud-Native Observability: The Many-Faceted Benefits of Structured and Unified Logging—A Multi-Case Study.
- Author
-
Kratzke, Nane
- Subjects
SOFTWARE engineering ,SOFTWARE engineers ,SYSTEMS software ,ACTION research ,PYTHON programming language - Abstract
Background: Cloud-native software systems often have a much more decentralized structure and many independently deployable and (horizontally) scalable components, making it more complicated to create a shared and consolidated picture of the overall decentralized system state. Today, observability is often understood as a triad of collecting and processing metrics, distributed tracing data, and logging. The result is often a complex observability system composed of three stovepipes whose data are difficult to correlate. Objective: This study analyzes whether these three historically emerged observability stovepipes of logs, metrics and distributed traces could be handled in a more integrated way and with a more straightforward instrumentation approach. Method: This study applied an action research methodology used mainly in industry–academia collaboration and common in software engineering. The research design utilized iterative action research cycles, including one long-term use case. Results: This study presents a unified logging library for Python and a unified logging architecture that uses the structured logging approach. The evaluation shows that several thousand events per minute are easily processable. Conclusions: The results indicate that a unification of the current observability triad is possible without the necessity to develop utterly new toolchains. [ABSTRACT FROM AUTHOR]
- Published
- 2022
- Full Text
- View/download PDF
32. Development of a Quality-Based Model for Software Architecture Optimization: A Case Study of Monolith and Microservice Architectures.
- Author
-
Milić, Miloš and Makajić-Nikolić, Dragana
- Subjects
SOFTWARE architecture ,COMPUTER software quality control ,SOFTWARE engineering ,SOFTWARE measurement ,SYSTEMS software ,DESIGN software - Abstract
Various architectures can be applied in software design. The aim of this research is to examine a typical implementation of Jakarta EE monolithic and microservice software architectures in the context of software quality attributes. Software quality standards are used to define quality models, as well as quality characteristics and sub-characteristics, i.e., software quality attributes. This paper evaluates monolithic and microservice architectures in the context of Coupling, Testability, Security, Complexity, Deployability, and Availability quality attributes. The performed examinations yielded a quality-based mixed integer goal programming mathematical model for software architecture optimization. The model incorporates various software metrics and considers their maximal, minimal or targeted values, as well as upper and lower deviations. The objective is the sum of all deviations, which should be minimal. Considering the presented model, a solution which incorporated multiple monoliths and microservices was defined. This way, the internal structure of the software is defined in a consistent and symmetrical context, while the external software behavior remains unchanged. In addition, an intersection point of monolithic and microservice software architectures, where software metrics obtain the same values, was introduced. Within the intersection point, either one of the architectures can be applied. With the exception of some metrics, an increase in the number of features leads to a value increase of software metrics in microservice software architecture, whilst these values are constant in monolithic software architecture. An increase in the number of features indicated a quality attribute's importance for the software system should be examined and an appropriate architecture should be selected accordingly. Finally, practical recommendations regarding software architectures in terms of software quality were given. Since each software system needs to meet non-functional in addition to functional requirements, a quality-driven software engineering can be established. [ABSTRACT FROM AUTHOR]
- Published
- 2022
- Full Text
- View/download PDF
33. Hunting Energy Bugs in Embedded Systems: A Software-Model-In-The-Loop Approach.
- Author
-
Schaarschmidt, Marco, Uelschen, Michael, and Pulvermüller, Elke
- Subjects
APPLICATION software ,SOFTWARE engineering ,COMPUTER software development ,HUNTING - Abstract
Power consumption has become a major design constraint, especially for battery-powered embedded systems. However, the impact of software applications is typically considered in later phases, where both software and hardware parts are close to their finalization. Power-related issues must be detected in early stages to keep the development costs low, satisfy time-to-market, and avoid cost-intensive redesign loops. Moreover, the variety of hardware components, architectures, and communication interfaces make the development of embedded software more challenging. To manage the complexity of software applications, approaches such as model-driven development (MDD) may be used. This article proposes a power-estimation approach in MDD for software application models in early development phases. A unified modeling language (UML) profile is introduced to model power-related properties of hardware components. To determine the impact of software applications, we defined two analysis methods using simulation data and a novel in-the-loop concept. Both methods may be applied at different development stages to determine an energy trace, describing the energy-related behavior of the system. A novel definition of energy bugs is provided to describe power-related misbehavior. We apply our approach to a sensor node example, demonstrate an energy bug detection, and compare the runtime and accuracy of the analysis methods. [ABSTRACT FROM AUTHOR]
- Published
- 2022
- Full Text
- View/download PDF
34. An Approach to Migrate a Monolith Database into Multi-Model Polyglot Persistence Based on Microservice Architecture: A Case Study for Mainframe Database.
- Author
-
Kazanavičius, Justas, Mažeika, Dalius, and Kalibatienė, Diana
- Subjects
MAINFRAME computers ,DATA warehousing ,DATABASES ,SOFTWARE architecture ,SOFTWARE engineering - Abstract
Migration from a monolithic architecture to a microservice architecture is a complex challenge, which consists of issues such as microservices identification, code decomposition, commination between microservices, independent deployment, etc. One of the key issues is data storage adaptation to a microservice architecture. A monolithic architecture interacts with a single database, while in microservice architecture, data storage is decentralized, each microservice works independently and has its own private data storage. A viable option to fulfil different microservice persistence requirements is polyglot persistence, which is data storage technology selected according to the characteristics of each microservice need. This research aims to propose and evaluate the approach of monolith database migration into multi-model polyglot persistence based on microservice architecture. The novelty and relevance of the proposed approach are double, that is, it provides a general approach of how to conduct database migration from monolith architecture into a microservice architecture and allows the data model to be transformed into multi-model polyglot persistence. Migration from a mainframe monolith database to a multi-model polyglot persistence was performed as a proof-of-concept for the proposed migration approach. Quality attributes defined in the ISO/IEC 25012:2008 standard were used to evaluate and compare the data quality of the microservice with the multi-model polyglot persistence and the existing monolith mainframe database. Results of the research showed that the proposed approach can be used to conduct data storage migration from a monolith to microservice architecture and improve the quality of the consistency, understandability, availability, and portability attributes. Moreover, we expect that our results could inspire researchers and practitioners toward further work aimed to improve and automate the proposed approach. [ABSTRACT FROM AUTHOR]
- Published
- 2022
- Full Text
- View/download PDF
35. A systematic literature review of empirical research on quality requirements.
- Author
-
Olsson, Thomas, Sentilles, Séverine, and Papatheocharous, Efi
- Subjects
EMPIRICAL research ,SOFTWARE engineers ,SOFTWARE engineering - Abstract
Quality requirements deal with how well a product should perform the intended functionality, such as start-up time and learnability. Researchers argue they are important and at the same time studies indicate there are deficiencies in practice. Our goal is to review the state of evidence for quality requirements. We want to understand the empirical research on quality requirements topics as well as evaluations of quality requirements solutions. We used a hybrid method for our systematic literature review. We defined a start set based on two literature reviews combined with a keyword-based search from selected publication venues. We snowballed based on the start set. We screened 530 papers and included 84 papers in our review. Case study method is the most common (43), followed by surveys (15) and tests (13). We found no replication studies. The two most commonly studied themes are (1) differentiating characteristics of quality requirements compared to other types of requirements, (2) the importance and prevalence of quality requirements. Quality models, QUPER, and the NFR method are evaluated in several studies, with positive indications. Goal modeling is the only modeling approach evaluated. However, all studies are small scale and long-term costs and impact are not studied. We conclude that more research is needed as empirical research on quality requirements is not increasing at the same rate as software engineering research in general. We see a gap between research and practice. The solutions proposed are usually evaluated in an academic context and surveys on quality requirements in industry indicate unsystematic handling of quality requirements. [ABSTRACT FROM AUTHOR]
- Published
- 2022
- Full Text
- View/download PDF
36. A Model-Based Approach for Common Representation and Description of Robotics Software Architectures.
- Author
-
Monthe, Valery Marcial, Nana, Laurent, and Kouamou, Georges Edouard
- Subjects
ROBOTICS software ,COMMUNICATIONS software ,SOFTWARE engineering ,APPLICATION software ,SYSTEMS software ,SOFTWARE architecture - Abstract
Unlike conventional software, robotic software suffers from a lack of methods and processes that could systematize and facilitate development. Thus, the application of software engineering techniques is at the heart of current issues in robotics. The work presented in this paper aims to facilitate the development of robotic software and to facilitate communication between experts in the field through the use of software engineering techniques and methods. It proposes RsaML (Robotic Software Architecture Modeling Language), a Domain Specific Modeling Language (DSML) dedicated to robotics, which takes into account the different categories of robotic software architectures and makes it possible to describe the latter independently from the implementation platform. The conceptual model defining the terminology and the hierarchy of concepts used for the description and representation of robotic software architectures in RsaML are presented in this article. RsaML is defined through a meta-model which represents the abstract syntax of the language. The real-time properties of robotic software architectures are identified and included in the meta-model. The use of RsaML is illustrated through several experimental scenarios of the language: the definition of a robotic system and the description of its software architecture, the verification of the semantics of a robotic software architecture, and the modeling of a robotic system whose software architecture does not belong to the usual categories. The support tool used for implementations and experimentation is Eclipse Modeling Framework (EMF). The results of experimentation showed good working of the proposed solution and made it possible to validate the main concepts of the RsaML language. [ABSTRACT FROM AUTHOR]
- Published
- 2022
- Full Text
- View/download PDF
37. DecidArch v2: An improved Game to teach Architecture Design Decision Making
- Author
-
Philippe Kruchten, Remco C. de Boer, Patricia Lago, Roberto Verdecchia, Software and Sustainability (S2), Network Institute, Software & Services, Information Management & Software Engineering, and Amsterdam Sustainability Institute
- Subjects
software architecture ,SDG 16 - Peace ,Computer science ,business.industry ,SDG 16 - Peace, Justice and Strong Institutions ,Cognition ,Architecture design ,decision making ,Justice and Strong Institutions ,game ,Software engineering ,business ,Software architecture - Abstract
We report on the use of our DecidArch game to teach software architecture design decision making in two consecutive years. We compare the support of three learning goals for the first version of the game with the second, revised version. Results show how the game has clearly improved. For the remaining issues. we suggest final improvements.
- Published
- 2019
- Full Text
- View/download PDF
38. Model-driven engineering for mobile robotic systems: a systematic mapping study.
- Author
-
Casalaro, Giuseppina Lucia, Cattivera, Giulio, Ciccozzi, Federico, Malavolta, Ivano, Wortmann, Andreas, and Pelliccione, Patrizio
- Subjects
SOFTWARE engineers ,ENGINEERS ,ROBOTICS ,ELECTRICAL engineering ,ROBOTICS software ,SOFTWARE engineering - Abstract
Mobile robots operate in various environments (e.g. aquatic, aerial, or terrestrial), they come in many diverse shapes and they are increasingly becoming parts of our lives. The successful engineering of mobile robotics systems demands the interdisciplinary collaboration of experts from different domains, such as mechanical and electrical engineering, artificial intelligence, and systems engineering. Research and industry have tried to tackle this heterogeneity by proposing a multitude of model-driven solutions to engineer the software of mobile robotics systems. However, there is no systematic study of the state of the art in model-driven engineering (MDE) for mobile robotics systems that could guide research or practitioners in finding model-driven solutions and tools to efficiently engineer mobile robotics systems. The paper is contributing to this direction by providing a map of software engineering research in MDE that investigates (1) which types of robots are supported by existing MDE approaches, (2) the types and characteristics of MRSs that are engineered using MDE approaches, (3) a description of how MDE approaches support the engineering of MRSs, (4) how existing MDE approaches are validated, and (5) how tools support existing MDE approaches. We also provide a replication package to assess, extend, and/or replicate the study. The results of this work and the highlighted challenges can guide researchers and practitioners from robotics and software engineering through the research landscape. [ABSTRACT FROM AUTHOR]
- Published
- 2022
- Full Text
- View/download PDF
39. Evolving software forges: An experience report from Apache Allura.
- Author
-
Tamburri, Damian A. and Palomba, Fabio
- Subjects
SOFTWARE engineering ,SOCIAL learning ,SOFTWARE engineers ,INDUSTRIAL surveys ,SOFTWARE refactoring ,COMPUTER software - Abstract
The open‐source phenomenon has reached unimaginable proportions to a point in which it is virtually impossible to find large applications that do not rely on open‐source as well. However, such proportions may turn into a risk if the organizational and socio‐technical aspects (e.g., the contribution and release schemes) behind open‐source communities are not explicitly supported by open‐source forges by‐design. In an effort to make such aspects explicit and supported by‐design in open‐source forges, we conducted empirical software engineering as follows: (a) Through online industrial surveying, we elicited organizational and social aspects relevant in open‐source communities; (b) through action research, we extended a widely known open‐source support system and top‐level Apache project Allura; (c) through ethnography, we studied the Allura community, and learning from its social and organizational structure, (d) we elicited a metrics framework that support more explicit organizational and socio‐technical design principles around open‐source communities. This article is an experience report on these results and the lessons we learned in obtaining them. We found that the extensions provided to Apache Allura formed the basis for community awareness by design, providing valuable and usable community characteristics. Ultimately, however, the extensions we provided to Apache Allura were deactivated by its core developers because of performance overheads. Our results and lessons learned allow us to provide recommendations for designing forges, like Github. Architecting a forge is a participatory process that requires active engagement, hence remarking the need for mechanisms enabling it. At the same time, we conclude that a more active support for the governance is required to avoid the failure of the forge. [ABSTRACT FROM AUTHOR]
- Published
- 2021
- Full Text
- View/download PDF
40. ANALYSIS OF THE USE OF THE REDIS IN THE DISTRIBUTED ORDER PROCESSING SYSTEM IN THE RESTAURANT NETWORK.
- Author
-
Tkachenko, Valerii and Lukianiuk, Svetlana
- Subjects
DISTRIBUTED computing ,ORDER picking systems ,CHAIN restaurants ,SOFTWARE engineering ,RESTAURANTS - Abstract
The object of research is a distributed order processing system for a restaurant chain. The subject of the research is the analysis of the use of Redis for managing event queues in distributed systems. When implementing a distributed order processing system in a restaurant chain with a possible load of up to 20,000 users per day, the Redis system was used. Management of 9 distributed subsystems was organized through Redis. This solution showed an increase in the performance of the system under heavy load (from 50 transactions per second), but the response time of the system in some cases of its operation was longer than without using Redis. When working systems using Redis, it is necessary to take into account the amount of data with which Redis will work, since it does not exceed the amount of RAM, the absence of differentiation into users and groups, and the absence of a query language, which is replaced by a key-value scheme. This research is aimed at analyzing the operation of the system during trial operation under real load. We compared the operation of a configured system with Redis enabled and disabled. The main indicators for the analysis were the system response time and the maximum request execution time. The research was carried out for 2 weeks, the first week using the system settings with disabled Redis, the second – with enabled Redis. We selected 2 days with a similar load on the system to each other. Especially indicative are the results of comparing the durations of the longest queries, which show an almost constant value of the duration for the system in the mode of enabled Redis. The hypothesis of an increase in the system response time at low loads was confirmed, but this value not only leveled off at a load of 500 unique users but also became less at loads of 1000 unique users. [ABSTRACT FROM AUTHOR]
- Published
- 2021
- Full Text
- View/download PDF
41. Perceived diversity in software engineering: a systematic literature review.
- Author
-
Rodríguez-Pérez, Gema, Nadri, Reza, and Nagappan, Meiyappan
- Abstract
We define perceived diversity as the diversity factors that individuals are born with. Perceived diversity in Software Engineering has been recognized as a high-value team property and companies are willing to increase their efforts to create more diverse work teams. The current diversity state-of-the-art shows that gender diversity studies have been growing during the past decade, and they have shown the benefits of including women in software teams. However, less is known about how other perceived diversity factors such as race, nationality, disability, and age of developers are related to Software Engineering. Through a systematic literature review, we aim to clarify the research area concerned with perceived diversity in Software Engineering. Our goal is to identify (1) what issues have been studied and what results have been reported; (2) what methods, tools, models, and processes have been proposed to help perceived diversity issues; and (3) what limitations have been reported when studying perceived diversity in Software Engineering. Furthermore, our ultimate goal is to identify gaps in the current literature and create a call for future action in perceived diversity in Software Engineering. Our results indicate that the individual studies have typically had a gender diversity perspective focusing on showing gender bias or gender differences instead of developing methods and tools to mitigate the gender diversity issues faced in SE. Moreover, perceived diversity aspects related to SE participants’ race, age, and disability need to be further analyzed in Software Engineering research. From our systematic literature review, we conclude that researchers need to consider a wider set of perceived diversity aspects for future research. [ABSTRACT FROM AUTHOR]
- Published
- 2021
- Full Text
- View/download PDF
42. Reducing the effort for systematic reviews in software engineering
- Author
-
Osborne, Francesco, Muccini, Henry, Lago, Patricia, Motta, Enrico, Osborne, F, Muccini, H, Lago, P, Motta, E, Software and Sustainability (S2), Network Institute, and Software & Services
- Subjects
FOS: Computer and information sciences ,software architecture ,Computer science ,business.industry ,Empirical research ,Computer Science - Digital Libraries ,Context (language use) ,Systematic reviews, software engineering, ontology learning, semantic web, software architecture, digital librarie ,Ontology (information science) ,Automation ,Domain (software engineering) ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Identification (information) ,Data extraction ,Semantic technology ,Digital Libraries (cs.DL) ,Connected World ,Science for Sustainability ,Software architecture ,business ,Software engineering - Abstract
Context: Systematic Reviews (SRs) are means for collecting and synthesizing evidence from the identification and analysis of relevant studies from multiple sources. To this aim, they use a well-defined methodology meant to mitigate the risks of biases and ensure repeatability for later updates. SRs, however, involve significant effort. \ud Goal: The goal of this paper is to introduce a novel methodology that reduces the amount of manual tedious tasks involved in SRs while taking advantage of the value provided by human expertise. \ud Method: Starting from current methodologies for SRs, we replaced the steps of keywording and data extraction with an automatic methodology for generating a domain ontology and classifying the primary studies. This methodology has been applied in the Software Engineering sub-area of Software Architecture and evaluated by human annotators. \ud Results: The result is a novel Expert-Driven Automatic Methodology, EDAM, for assisting researchers in performing SRs. EDAM combines ontology-learning techniques and semantic technologies with the human-in-the-loop. The first (thanks to automation) fosters scalability, objectivity, reproducibility and granularity of the studies; the second allows tailoring to the specific focus of the study at hand and knowledge reuse from domain experts. We evaluated EDAM on the field of Software Architecture against six senior researchers. As a result, we found that the performance of the senior researchers in classifying papers was not statistically significantly different from EDAM. \ud Conclusions: Thanks to automation of the less-creative steps in SRs, our methodology allows researchers to skip the tedious tasks of keywording and manually classifying primary studies, thus freeing effort for the analysis and the discussion.
- Published
- 2019
- Full Text
- View/download PDF
43. Sustainability in software engineering
- Author
-
Nina Wolfram, Francesco Osborne, Patricia Lago, Software and Sustainability (S2), Network Institute, Software & Services, Wolfram, N, Lago, P, and Osborne, F
- Subjects
Computer science ,Knowledge engineering ,02 engineering and technology ,Space (commercial competition) ,law.invention ,Software ,Green computing ,law ,0202 electrical engineering, electronic engineering, information engineering ,Green IT ,survey ,Sustainable development ,Software engineering ,Scope (project management) ,business.industry ,020207 software engineering ,Sustainability ,Systematic mapping study ,CLARITY ,020201 artificial intelligence & image processing ,Connected World ,Science for Sustainability ,business - Abstract
The intersection between software engineering research and the problems related to sustainability and green IT has been the subject of increasing attention. In spite of that, we observe that sustainability is still not clearly defined, or understood, in the field of software engineering. This lack of clarity leads to confusion about e.g. what is relevant to measure or the research implications over time or space. This paper provides an overview of how the research so far has defined sustainability, and how this definition has been used to guide which research areas. To this end, we carried out a systematic mapping study for selecting, classifying and analyzing relevant publications. In this study, we investigate which knowledge areas and which time scope of sustainability effects are mostly targeted in scientific research. Our analysis shows research trends and discusses gaps to be filled.
- Published
- 2018
- Full Text
- View/download PDF
44. Towards evidence‐based decision‐making for identification and usage of assets in composite software: A research roadmap.
- Author
-
Wohlin, Claes, Papatheocharous, Efi, Carlson, Jan, Petersen, Kai, Alégroth, Emil, Axelsson, Jakob, Badampudi, Deepika, Borg, Markus, Cicchetti, Antonio, Ciccozzi, Federicio, Olsson, Thomas, Sentilles, Séverine, Svahnberg, Mikael, Wnuk, Krzysztof, and Gorschek, Tony
- Subjects
COMPUTER software quality control ,DECISION making ,COMPUTER software development ,SOFTWARE engineers ,SYSTEMS software ,COMPUTER software reusability ,SOFTWARE engineering - Abstract
Software engineering is decision intensive. Evidence‐based software engineering is suggested for decision‐making concerning the use of methods and technologies when developing software. Software development often includes the reuse of software assets, for example, open‐source components. Which components to use have implications on the quality of the software (e.g., maintainability). Thus, research is needed to support decision‐making for composite software. This paper presents a roadmap for research required to support evidence‐based decision‐making for choosing and integrating assets in composite software systems. The roadmap is developed as an output from a 5‐year project in the area, including researchers from three different organizations. The roadmap is developed in an iterative process and is based on (1) systematic literature reviews of the area; (2) investigations of the state of practice, including a case survey and a survey; and (3) development and evaluation of solutions for asset identification and selection. The research activities resulted in identifying 11 areas in need of research. The areas are grouped into two categories: areas enabling evidence‐based decision‐making and those related to supporting the decision‐making. The roadmap outlines research needs in these 11 areas. The research challenges and research directions presented in this roadmap are key areas for further research to support evidence‐based decision‐making for composite software. [ABSTRACT FROM AUTHOR]
- Published
- 2021
- Full Text
- View/download PDF
45. Software industry awareness on sustainable software engineering: a Brazilian perspective.
- Author
-
Karita, Leila, Caroline Mourão, Brunna, Almeida Martins, Luana, Rocha Soares, Larissa, and Machado, Ivan
- Subjects
SOFTWARE engineers ,SUSTAINABLE engineering ,COMPUTER software industry ,COMPUTER software development ,COMPUTER science ,SOFTWARE engineering - Abstract
Sustainable computing is a rapidly growing research topic spanning several areas of Computer Science. Particularly, it has received increasing attention in the Software Engineering field in the last years, with several studies discussing the topic from a range of perspectives. However, few studies have demonstrated the awareness of software practitioners about the underlying concepts of sustainability in the software development practice. In an earlier investigation, we performed a preliminary study on the practitioners' perception under four main perspectives: economic, social, environmental, and technical. This study extended the previous survey and reached a number of ninety-seven respondents from Brazilian companies. The extension aims to expand the results to compare and explore the previous findings in a more in-depth way. The novel results confirmed the evidence raised in the original survey that sustainability in the context of Software Engineering is a new subject for practitioners. However, professionals have shown interest in the topic, and there is a general understanding that sustainability should be treated as a quality attribute. Among the observed perspectives, we generated an initial theory that shows software practitioners know the subject around 'Green in Software', even unconsciously. This study brings evidence of how the industry understands and perceives sustainability practices in the software development process. [ABSTRACT FROM AUTHOR]
- Published
- 2021
- Full Text
- View/download PDF
46. Requirements modeling of Web services-based business processes.
- Author
-
Afzal, Ayesha, Shafiq, Basit, Shamail, Shafay, and Adam, Nabil
- Subjects
SOFTWARE engineering ,REQUIREMENTS engineering ,TECHNICAL specifications ,INTERNET of things - Abstract
Purpose: This paper reviews existing business process (BP) modeling languages that are widely used in the industry as well as recent research work on modeling and analysis of BPs in the service-oriented environment and Internetware-based software paradigm. BPs in such environment are different from traditional BPs due to loose coupling of partner services, dynamic and on-the-fly selection of partners and run-time process adaptability. The unique characteristics of these BPs require formal modeling of the requirements and constraints in each phase of their life cycle, including design phase, implementation and deployment phase and execution phase. Design/methodology/approach: The paper first provides a categorization of typical user requirements in each phase of the BP life cycle. Then a detailed comparison of the selected languages with respect to their requirement modeling and analysis capabilities in each of the identified categories is provided. The paper also discusses new requirements engineering research challenges arising from future software needs and emerging trends in software engineering in the context of Web-services-based BPs and Internetware. Findings: There is a need to have a framework that provides support for user requirements modeling and analysis for all the phases of BP life cycle in an integrated manner. Such a framework would be useful not only in resolving the inconsistencies between requirements across phases but also in addressing the issues related to BP evolution due to changes in user requirements over time. Moreover, with the Internet of things (IoT) adoption in BPM, there is a need to have an integrated environment that provides support for capturing the resilience requirements of enterprise BPs as well as the mobility constraints of the underlying IoT devices. Originality/value: This paper reviews existing BP modeling languages and frameworks and discusses the new requirements engineering research challenges arising from future software needs and the emerging trends in BP management in the service-oriented environment and Internetware-based software paradigm. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF
47. How does code readability change during software evolution?
- Author
-
Piantadosi, Valentina, Fierro, Fabiana, Scalabrino, Simone, Serebrenik, Alexander, and Oliveto, Rocco
- Subjects
SOFTWARE engineering ,COMPUTER software development ,OPEN source software ,MINING software ,QUALITATIVE research - Abstract
Code reading is one of the most frequent activities in software maintenance. Such an activity aims at acquiring information from the code and, thus, it is a prerequisite for program comprehension: developers need to read the source code they are going to modify before implementing changes. As the code changes, so does its readability; however, it is not clear yet how code readability changes during software evolution. To understand how code readability changes when software evolves, we studied the history of 25 open source systems. We modeled code readability evolution by defining four states in which a file can be at a certain point of time (non-existing, other-name, readable, and unreadable). We used the data gathered to infer the probability of transitioning from one state to another one. In addition, we also manually checked a significant sample of transitions to compute the performance of the state-of-the-art readability prediction model we used to calculate the transition probabilities. With this manual analysis, we found that the tool correctly classifies all the transitions in the majority of the cases, even if there is a loss of accuracy compared to the single-version readability estimation. Our results show that most of the source code files are created readable. Moreover, we observed that only a minority of the commits change the readability state. Finally, we manually carried out qualitative analysis to understand what makes code unreadable and what developers do to prevent this. Using our results we propose some guidelines (i) to reduce the risk of code readability erosion and (ii) to promote best practices that make code readable. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF
48. The SOTA approach to engineering collective adaptive systems.
- Author
-
Abeywickrama, Dhaminda B., Bicocchi, Nicola, Mamei, Marco, and Zambonelli, Franco
- Subjects
SOFTWARE engineering ,SOFTWARE development tools ,DYNAMICAL systems ,AUTONOMOUS vehicles ,ENGINEERING models - Abstract
The emergence of collective adaptive systems—i.e., computational systems made up of an ensemble of autonomous components that have to operate in a coordinated and adaptive way in open-ended and unpredictable environments—calls for innovative modeling and software engineering tools, to support their systematic and rigorous design and development. In this paper, we present a general model for collective adaptive systems called SOTA ("State Of The Affairs"). SOTA brings together the lessons of goal-oriented requirements modeling, context-aware system modeling, and dynamical systems modeling. It has the potential for acting as a general reference model to help tackling some key issues in the design and development of collective adaptive systems. In particular, as we will show with reference to a scenario of collectives of autonomous vehicles, SOTA enables: early verification of requirements, identification of knowledge requirements for self-adaptation, and the identification of the most suitable architectural patterns for self-adaptation. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF
49. Addressing sustainability in the requirements engineering process: From elicitation to functional decomposition.
- Author
-
Saputri, Theresia Ratih Dewi and Lee, Seok‐Won
- Subjects
REQUIREMENTS engineering ,SUSTAINABLE engineering ,PRODUCTION engineering ,COMPUTER software quality control ,SUSTAINABLE design ,SOFTWARE engineering - Abstract
Due to the critical role of a software‐intensive system in society, software engineers have a responsibility to add sustainability as a goal while developing a software system. However, there is a lack of practical guidelines providing a tangible decomposition of the sustainability aspect. Moreover, there are limited quantifiable methods to support sustainable design and analysis. Therefore, we propose a systematic approach that allows software practitioners to accommodate sustainability concerns that are aligned with other software quality attributes to enhance sustainable development. By using the combination of a goal‐scenario‐based approach and feature modeling, sustainability requirements are elicited along with their functional compositions. Our approach is a comprehensive reference model that decomposes sustainability requirements, enabling analysis, support, and assessment of sustainability risk analysis and guiding the designer to construct a feature model as a system functional decomposition. From the conducted theoretical evaluation and empirical study, our proposed approach can derive more significant sustainability‐related requirements and key features by providing a practical guideline with the integration of well‐known methods to address sustainability in requirements engineering. With the help of the provided approach, we can solve more conflicting goals in different sustainability dimensions. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF
50. Automated semantics-preserving parallel decomposition of finite component and connector architectures.
- Author
-
Kautz, Oliver, Rumpe, Bernhard, and Wortmann, Andreas
- Subjects
INDEPENDENT component analysis ,SOFTWARE engineering ,SYSTEMS development ,FINITE, The ,SOFTWARE refactoring - Abstract
For the systematic development of logical, message-driven architectures, automating parallel decomposition of software components is important to achieve efficient modular and parallel system development. During development, monolithic components that realize multiple independent concerns need to be decomposed to obtain a higher quality architecture of cohesively encapsulated, better comprehensive components. Previous work did not address automated parallel decomposition of finite message-driven and logically timed components with respect to the influence of messages received via input channels on the messages sent via output channels. This, however, is a necessary prerequisite to enable the analysis of event chains across logically distributed architectures. To address this, we present a concept of influence between channels of components that supports automated semantics-preserving parallel decomposition of finite deterministic component implementations into independent, more comprehensible components that are better accessible for analysis and development. Therefore, we extend the Focus theory of time-synchronous components with the concept of influence, present a decomposition procedure leveraging this, and prove that the resulting system is semantically equivalent. This enables automatically decomposing monolithic software components (e.g., for stepwise refinement or refactoring) into smaller components of better cohesion and comprehensibility and thus facilitates automated software engineering. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.