54 research outputs found
Fundamental Approaches to Software Engineering
This open access book constitutes the proceedings of the 25th International Conference on Fundamental Approaches to Software Engineering, FASE 2022, which was held during April 4-5, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 17 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. The proceedings also contain 3 contributions from the Test-Comp Competition. The papers deal with the foundations on which software engineering is built, including topics like software engineering as an engineering discipline, requirements engineering, software architectures, software quality, model-driven development, software processes, software evolution, AI-based software engineering, and the specification, design, and implementation of particular classes of systems, such as (self-)adaptive, collaborative, AI, embedded, distributed, mobile, pervasive, cyber-physical, or service-oriented applications
Computer Aided Verification
This open access two-volume set LNCS 11561 and 11562 constitutes the refereed proceedings of the 31st International Conference on Computer Aided Verification, CAV 2019, held in New York City, USA, in July 2019. The 52 full papers presented together with 13 tool papers and 2 case studies, were carefully reviewed and selected from 258 submissions. The papers were organized in the following topical sections: Part I: automata and timed systems; security and hyperproperties; synthesis; model checking; cyber-physical systems and machine learning; probabilistic systems, runtime techniques; dynamical, hybrid, and reactive systems; Part II: logics, decision procedures; and solvers; numerical programs; verification; distributed systems and networks; verification and invariants; and concurrency
Determinants of Success of the Open Source Selective Revealing Strategy: Solution Knowledge Emergence
Recent research suggests that firms may be able to create a competitive advantage by deliberately revealing specific problem knowledge beyond firm boundaries to open source meta-organisations such that new solution knowledge is created that benefits the focal firm more than its competitors (Alexy, George, & Salter, 2013). Yet, not all firms that use knowledge revealing strategies are successful in inducing the emergence of solution knowledge. The extant literature has as of yet not explained this heterogeneity in success of knowledge revealing strategies. Using a longitudinal database spanning the period from 1998 to end 2012 with more than 2 billion data points that was obtained from the Mozilla Foundation, one of the top open source meta-organisations, this dissertation identifies and measures the antecedent factors affecting successful solution knowledge emergence. The results reveal 35 antecedent factors that affect solution knowledge emergence in different ways across three levels of analysis. The numerous contributions to theory and practice that follow from the results are discussed
Too big to fail? A case study of the rise and fall of a medical research infrastructure
Introduction:
Distributed Research Infrastructures are becoming increasingly more salient as science expands and universities continue to look for new means to cooperate and share expertise and expenses on large-scale projects. One area which has seen much development in recent years is biobanking, as there have been numerous attempts to harmonise the different biobanking standards over the years, none of which have been entirely successful. BBMRI.se was an EU-initiative that sought to harmonise the biobanks nationwide. BBMRI.se, was thus selected as a case for studying how a distributed Research Infrastructure was set up. At the time of its creation, the organisation constituted the largest investment ever made by the Swedish Research Council in a medical Research Infrastructure. The organisation involved all Swedish universities with a medical faculty, in addition to two other universities. However, the organisation was marred by a number of controversies and would eventually fold in 2018.
Aim:
This dissertation is to elucidate the mechanisms involved in the construction of a medical large-scale distributed Research Infrastructure, and to understand the motivations and rationale of the experts who activate themselves in constructing it. Thus, the overall aim of this doctoral thesis is to identify the benefits and constraints of forming a large-scale medical, distributed Research Infrastructure. Specifically, this dissertation looks at a real-life case while comparing it to the available literature covering the development of Research Infrastructures as well as some of the theories covering mindsharing and collective entrepreneurship. The ambition is to contribute knowledge on the determining factors in bringing a large-scale infrastructure together as well as the risks associated with it. Hence, this dissertation asks the following research question: What are the principal lessons for researchers, entrepreneurs and funders that can be inferred from the formation of a large-scale distributed Research Infrastructure towards securing more sustainable prospects for similar, future endeavours? More precisely, this dissertation seeks to determine what the most debated topics are within the academic discourse on Research Infrastructures (study I), after which it looks at the factors involved in constructing shaping a distributed Research Infrastructure (study II). The study then endeavours to looks at some of the pitfalls and how managerial self-governance affects organisational failure (study III). The study then seeks to investigate the mind-set of the managers/pioneers involved in setting up BBMRI.se and if they perceive the organisation in a similar fashion for the other managers (study IV) and how they have reasoned behind their motivations for joining the initiative in the first place (study V). The overall results have endeavoured to elucidate what components are at work when forming such an infrastructure at an organisational level, but also to understand the reasoning and motivation that the individuals responsible in setting up the infrastructure might have had, and how their visions and/or actions may have impacted on the organisation.
Method:
Some various designs and data collection methods were used in this dissertation. Study I was a literature study carried out as a narrative review using the PRISMA statements as a guideline. Both the Web of Science (WOS) and PubMed databases were scoured for articles. Study II-V used qualitative, semi-structured interviews with BBMRI.se managers. All of these studies took on the form of iterative, directed content analyses, with the exception of study III, which was an inductive, directed content analysis.
Results:
Study I found that the most commonly discussed topics concerned the need for developing and expanding the use of “infrastructures”. The findings indicated that the future of scientific research calls for a deeper and more widespread multidisciplinary forms of collaboration.
Study II found that it is crucial to identify the potential collaborative and deliberative organisational elements of organisational team building already at the outset of establishing a distributed Research Infrastructure. The study also found that, contrary to suggestions of extant literature, the establishment of a distributed Research Infrastructure does not necessarily counteract organisational fragmentation.
Study III identified that an organisation with high levels of task uncertainty and low levels of organisational integration will suffer from organisational fragmentation. The type of fragmentation manifested in BBMRI.se is best identified as a “fragmented adhocracy”. This means that the organisation’s mission statement is subject to diverse views, leading to goals that are separate, unstable and sometimes even conflicting, while also lacking in co-ordination. The study also found that the organisation lacked a “liaison device” and instead depended on a more traditional model of planning and control systems through its reliance on strategy documents and interim evaluation reports. This was in spite of the fact that this model is better suited for a more vertical organisational structure.
Study IV investigated how managers/associates of BBMRI.se perceived the organisation’s brand and the role of “mindsharing”. The results showed that mindsharing occurred throughout the initial two stages (“Brand Strategic Analysis” and “Brand Identity”), but would disspate throughout the remaining two final stages (“Brand Operationalising”, and “Post Implementation Reflections”). This resulted in a fragmented brand perception, which resulted in the failure of generating a “pull-effect” for the BBMRI.se brand.
Study V looked at how collective entrepreneurial team cognition of the instigators behind BBMRI.se changes throughout the process of establishing the organisation. The study devised a new “action phase model”, known as the “4 I’s” of entrepreneurship, where each “I” elaborated on the entrepreneurial rationale behind the various stages of the creation process. These were “Intention”, “Initiation”, “Implementation” and “Introspection”. The results illustrated that the respondents agreed that there was a need for BBMRI.se, while disagreeing on what the organisation should be doing and what its challenges consisted of. The homogenous mind-set would begin to dissipate once the “Initiation” stage was reached, declining further throughout the Implementation stage.
Conclusion:
The overall conclusions from study I-V have shown that distributed Research Infrastructures carries potential to form a platform to pool scientific research in the face of the ever-expanding sciences, where the demands of co-financing and scientific co-operation are becoming ever so pressing. In addition, distributed Research Infrastructures have the benefit of utilising initial synergy effects and using multidisciplinary teams. In line with the contention of Gibbons et al. (1994), this carries the potential of opening up new possibilities of scientific knowledge production. Provided there is a political incentive in place to allocate the necessary funding, the process of establishing a distributed Research Infrastructure can be done in a considerably swift timespan.
However, there are several inherent risks. Most notably, there was a lack of “infrastructuring”, as defined by Star and Bowker (2002). This means that scientists as well as the policy- makers should gradually learn together through a learning process about how to creating an effective large-scale infrastructure. This may have prevented mindsharing from becoming consolidated throughout the formation process (Aaker, 1996; Acuña, 2012; Azevedo, 2005; J. Griffin, 2009; Holt, 2016; Krishnan, Sullivan, Groza, & Aurand, 2013; Stevens, 2003). This, in turn, would also put an end to the collective entrepreneurship that had up till that point characterised BBMRI.se, in which the motivations and drivers of the initiators/managers, as well as their respective recollections of the same, were instrumental features (Cardon, Post, & Forster, 2017; Czarniawska-Joerges & Wolff, 1991; Sakhdari, 2016). Moreover, the integration of autonomous “National Champions” (leading scientists within their field) carries a risk of the “principal-agent” problem, which in turn can lead to “moral hazard” as the “National Champion(s)” may elect to undertake added risks, since someone else bears the cost of those risks (Holmstrom, 1982; Laffont & Martimort, 2002; Steets, 2010). There is also an over- whelming risk of organisational fragmentation, which, coupled with managerial neglect, may cause the eventual failure of the organisation
SCCharts: Language and Interactive Incremental Compilation
Safety-critical systems are a subclass of reactive systems, a dominating class of computer systems these days. Such systems control the airbags in our cars, the flaps of an aircraft, nuclear power plants or pace makers. Software for these systems must be reliable. Hence, a language and tooling is needed that allows to build and maintain reliable software models. Furthermore, a reliable compiler is required to obtain decent machine-understandable and executable code from highly abstract models. This thesis presents SCCharts, a Statecharts-based synchronous and visual modeling language for specifying and designing safety-critical systems and for deriving their implementations. It elaborates on why a control-flow oriented and synchronous language is desirable and how incremental language features are chosen to flatten learning curve. It presents an interactive incremental model transformation based compilation approach termed SLIC. It shows how SLIC helps in supporting both, the modeler and the tool smith for building reliable models and maintaining a reliable compiler, respectively. A SLIC-based compiler for SCCharts including its high-level model transformations is presented. Furthermore, practicality aspects of the KIELER SCCharts language and tooling implementation complete the considerations to validate the proposed approach.Sicherheitskritische Systeme sind eine Unterklasse von reaktiven Systemen, welche heutzutage eine der wichtigsten und größten Klasse von Computersystemen darstellt. Solche Systeme kontrollieren die Airbags unserer Autos, die Landeklappen eines Passagierflugzeugs, Kernkraftwerke oder Herzschrittmacher. Software für solche Systeme muß absolut zuverlässig sein. Daher werden Computersprachen und Werkzeuge benötigt, die es erlauben, zuverlässige Softwaremodelle zu erstellen und zu warten. Weiterhin braucht es zuverlässige Kompiler, die aus solchen abstrakten Modellen korrekten maschinenlesbaren und ausführbaren Code erzeugen. Mit SCCharts präsentiert diese Arbeit eine zustandsmaschinenbasierte und synchrone Modellierungssprache für den Entwurf und zur Implementierung sicherheitskritischer Systeme. Es wird betrachtet, warum sich dafür eine kontrollflußorientierte und synchrone Sprache besonders gut eignet und welche Wahl inkrementeller Sprachbestandteile die Lernkurve senken können. Die Arbeit zeigt, wie ein als SLIC bezeichneter, interaktiver, inkrementeller und auf Modelltransformationen basierender Kompilierungsansatz sowohl dem Modellierer dabei helfen kann, zuverlässige Modelle zu erstellen, als auch den Werkzeugentwickler darin unterstützt, einen zuverlässigen Kompiler bereit zu stellen. Es wird ein auf SLIC basierender SCCharts Kompiler inklusive seiner high-level Modelltransformationen vorgestellt. Weiterhin wird der vorgestellte Ansatz mit Hilfe der beispielhaft umgesetzten KIELER SCCharts Sprach- und Werkzeugimplementierung auf seine Praktikabilität hin überprüft
AUTOMATED ANALYSIS OF NATURAL-LANGUAGE REQUIREMENTS USING NATURAL LANGUAGE PROCESSING
Natural Language (NL) is arguably the most common vehicle for specifying requirements. This dissertation devises automated assistance for some important tasks that requirements engineers need to perform in order to structure, manage, and elaborate NL requirements in a sound and effective manner. The key enabling technology underlying the work in this dissertation is Natural Language Processing (NLP). All the solutions presented herein have been developed and empirically evaluated in close collaboration with industrial partners.
The dissertation addresses four different facets of requirements analysis:
• Checking conformance to templates. Requirements templates are an effective tool for improving the structure and quality of NL requirements statements. When templates are used for specifying the requirements, an important quality assurance task is to ensure that the requirements conform to the intended templates. We develop an automated solution for checking the conformance of requirements to templates.
• Extraction of glossary terms. Requirements glossaries (dictionaries) improve the understandability of requirements, and mitigate vagueness and ambiguity. We develop an auto- mated solution for supporting requirements analysts in the selection of glossary terms and their related terms.
• Extraction of domain models. By providing a precise representation of the main concepts in a software project and the relationships between these concepts, a domain model serves as an important artifact for systematic requirements elaboration. We propose an automated approach for domain model extraction from requirements. The extraction rules in our approach encompass both the rules already described in the literature as well as a number of important extensions developed in this dissertation.
• Identifying the impact of requirements changes. Uncontrolled change in requirements presents a major risk to the success of software projects. We address two different dimen- sions of requirements change analysis in this dissertation: First, we develop an automated approach for predicting how a change to one requirement impacts other requirements. Next, we consider the propagation of change from requirements to design. To this end, we develop an automated approach for predicting how the design of a system is impacted by changes made to the requirements
Contribution Barriers to Open Source Projects
Contribution barriers are properties of Free/Libre and Open Source Software (FLOSS) projects that may prevent newcomers from contributing. Contribution barriers can be seen as forces that oppose the motivations of newcomers. While there is extensive research on the motivation of FLOSS developers, little is known about contribution barriers. However, a steady influx of new developers is connected to the success of a FLOSS project.
The first part of this thesis adds two surveys to the existing research that target contribution barriers and motivations of newcomers. The first exploratory survey provides the indications to formulate research hypotheses for the second main survey with 117 responses from newcomers in the two FLOSS projects Mozilla and GNOME. The results lead to an assessment of the importance of the identified contribution barriers and to a new model of the joining process that allows the identification of subgroups of newcomers affected by specific contribution barriers.
The second part of the thesis uses the pattern concept to externalize knowledge about techniques lowering contribution barriers. This includes a complete categorization of the existing work on FLOSS patterns and the first empirical evaluation of these FLOSS patterns and their relationships. The thesis contains six FLOSS patterns that lower specific important contribution barriers identified in the surveys.
Wikis are web-based systems that allow its users to modify the wiki's contents. They found on wiki principles with which they minimize contribution barriers. The last part of the thesis explores whether a wiki, whose content is usually natural text, can also be used for software development. Such a Wiki Development Environment (WikiDE) must fulfill the requirements of both an Integrated Development Environment (IDE) and a wiki. The simultaneous compliance of both sets of requirements imposes special challenges. The thesis describes an adapted contribution process supported by an architecture concept that solves these challenges. Two components of a WikiDE are discussed in detail. Each of them helps to lower a contribution barrier. A Proof of Concept (PoC) realization demonstrates the feasibility of the concept
Leveraging Software Clones for Software Comprehension: Techniques and Practice
RÉSUMÉ
Le corps de cette thèse est centré sur deux aspects de la détection de clones logiciels: la détection et l’application.
En détection, la contribution principale de cette thèse est un nouveau détecteur de clones conçu avec la librairie mtreelib, elle-même développée expressément pour ce travail. Cette librairie implémente un arbre de métrique général, une structure de donnée spécialisée dans la division des espaces de métriques dans le but d’accélérer certaines requêtes communes, comme les requêtes par intervalles ou les requêtes de plus proche voisin. Cette structure est utilisée pour construire un détecteur de clones qui approxime la distance de Levenshtein avec une forte précision. Une brève évaluation est présentée pour soutenir cette précision. D’autres résultats pertinents sur les métriques et la détection incrémentale de clones sont
également présentés.
Plusieurs applications du nouveau détecteur de clones sont présentés. Tout d’abord, un algorithme original pour la reconstruction d’informations perdus dans les systèmes de versionnement est proposé et testé sur plusieurs grands systèmes. Puis, une évaluation qualitative et quantitative de Firefox est faite sur la base d’une analyse du plus proche voisin; les courbes obtenues sont utilisées pour mettre en lumière les difficultés d’effectuer une transition entre un cycle de développement lent et rapide. Ensuite, deux expériences industrielles d’utilisation
et de déploiement d’une technologie de détection de clonage sont présentés. Ces deux expériences concernent les langages C/C++, Java et TTCN-3. La grande différence de population de clones entre C/C++ et Java et TTCN-3 est présentée. Finalement, un résultat obtenu grâce au croisement d’une analyse de clones et d’une analyse de flux de sécurité met en lumière l’utilité des clones dans l’identification des failles de sécurité.
Le travail se termine par une conclusion et quelques perspectives futures.----------ABSTRACT
This thesis explores two topics in clone analysis: detection and application.
The main contribution in clone detection is a new clone detector based on a library called mtreelib. This library is a package developed for clone detection that implements the metric data structure. This structure is used to build a clone detector that approximates the Levenshtein distance with high accuracy. A small benchmark is produced to assess the accuracy. Other results from these regarding metrics and incremental clone detection are also presented.
Many applications of the clone detector are introduced. An original algorithm to reconstruct missing information in the structure of software repositories is described and tested with data sourced from large existing software. An insight into Firefox is exposed showing the quantity of change between versions and the link between different release cycle types and the number of bugs. Also, an analysis crossing the results from pattern traversal, flow
analysis and clone detection is presented. Two industrial experiments using a different clone detector, CLAN, are also presented with some developers’ perspectives. One of the experiments is done on a language never explored in clone detection, TTCN-3, and the results show that the clone population in that language differs greatly from other well-known languages, like C/C++ and Java.
The thesis concludes with a summary of the findings and some perspectives for future research
Building a Systematic Legacy System Modernization Approach
A systematic legacy system modernizing approach represents a new approach for modernizing legacy systems. Systematic legacy system modernization has software reuse as an integral part of modernization. We have developed a modernization approach which uses software architecture reconstruction to find reusable components within the legacy system. The practice of software development and modernization continues to shift towards the reuse of components from legacy systems to handle the complexities of software development. Modernization of a legacy system requires reuse of software artefacts from legacy system to conserve the business rules and improve the system’s quality attributes. Software reuse is an integral part of our systematic legacy modernization approach. Software should be considered as an asset and reuse of these assets is essential to increase the return on the development costs.
Software reuse ranges from reuse of ideas to algorithms to any documents that are created during the software development life cycle. Software reuse has many potential benefits which include increased software quality, and decreased software development cost and time. Demands for lower software production and maintenance costs, faster delivery of systems and increased quality can only be met by widespread and systematic software reuse.
In spite of all these benefits software reuse adoption is not widespread in the software development communities. Software reuse cannot possibly become an engineering discipline so long as issues and concerns have not been clearly understood and dealt with. We have conducted two surveys to understand the issues and concerns of software reuse in the Conventional Software Engineering (CSE) Community and the Software Product Line (SPL) Community where reuse is an integral part of the product development. The quantitative and qualitative analysis of our surveys identified the critical factors which affect and inhibit software engineers and developers adopting software reuse.
Software reuse has been talked about in generic terms in software product lines. Though software reuse is a core concept in SPL it has however failed to become a standardized practice. The survey conducted on the SPL Community
investigates how software reuse is adopted in SPL so as to provide the necessary
degree of support for engineering software product line applications and to identify some of the issues and concerns in software reuse. The identified issues and concerns have helped us to understand the difference between software reuse in the CSE and SPL Communities. It has also given us an indication of how both communities can learn good software reuse practices from each other in order to develop a common software reuse process. Based on the outcome of our surveys we have developed a systematic software reuse process, called the Knowledge Based Software Reuse (KBSR) Process, which incorporates a Repository of reusable software assets to build a systematic legacy system modernization approach. Being able to reuse software artefacts, be it software requirement specification, design, or code, would greatly enhance software productivity and reliability. All of these software artefacts can go in the Knowledge Based Software Reuse Repository and be candidates for reuse
- …