196,234 research outputs found

    Open Science in Software Engineering

    Full text link
    Open science describes the movement of making any research artefact available to the public and includes, but is not limited to, open access, open data, and open source. While open science is becoming generally accepted as a norm in other scientific disciplines, in software engineering, we are still struggling in adapting open science to the particularities of our discipline, rendering progress in our scientific community cumbersome. In this chapter, we reflect upon the essentials in open science for software engineering including what open science is, why we should engage in it, and how we should do it. We particularly draw from our experiences made as conference chairs implementing open science initiatives and as researchers actively engaging in open science to critically discuss challenges and pitfalls, and to address more advanced topics such as how and under which conditions to share preprints, what infrastructure and licence model to cover, or how do it within the limitations of different reviewing models, such as double-blind reviewing. Our hope is to help establishing a common ground and to contribute to make open science a norm also in software engineering.Comment: Camera-Ready Version of a Chapter published in the book on Contemporary Empirical Methods in Software Engineering; fixed layout issue with side-note

    Social Computing for Software Engineering: a Mapping Study.

    Get PDF
    There is a continual growth in the use of social computing within a breadth of business domains; such as marketing, public engagement and innovation management. Software engineering research, like other similar disciplines, has re- cently started to harness the power of social computing throughout the various development phases; from requirements elicitation to validation and maintenance and for the various methods of development and structures of development teams. However, despite this increasing effort, we still lack a clear picture of the current status of this research. To address that lack of knowledge, we conduct a systematic mapping study on the utilisation of social computing for software engineering. This will inform researchers and practitioners about the current status and progress of the field including the areas of current focus and the geographical and chronological distribution of the research. We do the mapping across a diversity of dimensions including the activities of software engineering, the types of research, the characteristics of social computing and the demographic attributes of the published work. Our study results show a growing interest in the field, mainly in academia, and a general trend toward developing designated social com- puting platforms and utilising them in mainly four software engineering areas; management, coding, requirements engineering, and maintenance and enhancement

    A self-organising awareness system for distributed software engineering

    Get PDF
    Software engineers and other collaborative disciplines rely on informal "out-of-band" communication for ef- fective coordination of their activities, especially in agile methods. This type of communication is lost when development is distributed, with consequent deleterious effects on engineer effectiveness. In order to effectively support distributed software engineering, a replacement for this informal communication must be found. Much previous research focussed on either synchronous awareness such as radar views and shared editors, where participants were distributed in space not time, or asynchronous awareness such as change notification, which did not explicitly support concurrent activities. A unified approach is necessary to support software engineering. Furthermore, requiring co-location of engineering teams is not possible in today's marketplace where development is often outsourced, consequently a definite requirement for awareness tools to replace informal communication exists. To implement an awareness tool capable of providing awareness of activities distributed both in time (asyn- chronous awareness) and space (synchronous awareness). The tool will not rely on a centralised reflector; instead information will be distributed over a peer-to-peer network arranged using a self-organisation algorithm. Consequently awareness information need not travel more than a few hops from its originating peer, reducing network load and increasing relevance of information received. Unlike reflector-based CSCW systems, the network will scale and will not have a single point of failure in the reflector. Furthermore, without the need to setup a reflector, there is the capability for ad-hoc awareness, using low-complexity peer discovery by local broadcast for example. The tool will be integrated with the Eclipse development environment. The files a user is currently editing will determine the data they are interested in and fuzzy similarity metrics will be used to compare the collections of each peer in the network in order to drive the self-organisation process. To evaluate the success of self-organisation, a simulation approach will be used before deploying the algorithms in the wild. To evaluate the effectiveness of the awareness provision, initial deployment and controlled experiments will be conducted within the Distributed Software Engineering group at the University of Lincoln and a later version of the tool will be trialled with existing Eclipse user

    Integrating Human Factors with Structured Analysis and Design Methods

    Get PDF
    Current human factors input to system development is effected through methods, tools and guidelines. Although the input prompts the consideration of human factors concerns during system design, reports have highlighted inadequacies with respect to the scope, granularity, format and timing of the contributions, e.g. Smith, 1986; Chapanis and Burdurka, 1990; Sutcliffe, 1989; etc. The thesis argues that such problems are obviated if design needs of both Software Engineering and Human Factors are appropriately represented within an overall system design cycle. Intersecting concerns may then be identified for explicit accommodation by the design agenda. To derive an overall design cycle, current conceptions for the individual disciplines should be examined. Since these conceptions are expressed at a lower level as methods, an overall design cycle may be instantiated more specifically by integrating compatible methods from the two disciplines. Methodological integration is desirable as design inter-dependencies and roles may be defined explicitly. More effective inter-disciplinary communication may also accrue from the use of a common set of notations. Methodological integration is facilitated if the design scope, process and notation of individual methods are well defined. Such characteristics are found in a class of Software Engineering methods commonly referred to as structured analysis and design methods. Unfortunately, the same are not currently to be found for human factors since its methods are generally unstructured and focus only on later design stages. 1 Thus, a pre-requisite for integration is the derivation of a reasonably complete and structured human factors method. Since well developed Software Engineering methods already exist, it would be appropriate (for the purposes of methodological integration) to structure human factors methods around specific structured analysis and design methods. The undertaking is exemplified by the present research for the Jackson System Development method. In other words, the scope of the thesis comprises the derivation, test and integration of a structured human factors method with the Jackson System Development method. In conclusion, the research contributes to the Human Factors discipline in two respects. Firstly, it informs the research community on how similar work with other structured analysis and design methods may be set up. Secondly, it offers designers an extended Jackson System Development method that facilitates the incorporation of human factors during system development

    ‘Follow the Moon’ Development: Writing a Systematic Literature Review on Global Software Engineering Education

    Get PDF
    This presentation reflects on method and practice in Computer Science Education Research, through introducing the process of conducting a Systematic Literature Review. While Systematic Literature Reviews are an established research method within the Software Engineering discipline, they are a relatively unfamiliar research approach within Computer Science Education. Yet research disciplines can be strengthened by borrowing and adapting methods from other fields. I reflect on the rationale and underlying philosophy behind Systematic Reviews, and the implications for conducting a rigorous study and the quality of the resulting outputs. This chronicle of the journey of an ITiCSE working group, outlines the process we adopted and reflects on the methodological and logistical challenges we had to overcome in producing a review titled Challenges and Recommendations for the Design and Conduct of Global Software Engineering Courses. I conclude by discussing how systematic literature reviews can be adapted to an undergraduate teaching setting

    Sustainability in software engineering: a systematic literature review

    Get PDF
    Background: Supporting sustainability in software engineering is becoming an active area of research. We want to contribute the first Systematic Literature Review(SLR) in this field to aid researchers who are motivated to contribute to that topic by providing a body of knowledge as starting point, because we know from own experience, this search can be tedious and time consuming. Aim: We aim to provide an overview of different aspects of sustainability in software engineering research with regard to research activity, investigated topics, identified limitations, proposed approaches, used methods, available studies, and considered domains. Method: The applied method is a SLR in five reliable and commonly-used databases according to the (quasi-standard) protocol by Kitchenham et al. [1]. We assessed the 100 first results of each database ordered by relevance with respect to the search query. Results: Of 500 classified publications, we regard 96 as relevant for our research questions. We sketch a taxonomy of their topics and domains, and provide lists of used methods and proposed approaches. Most of the excluded publications were ruled out because of an unfitting usage of terms within the search query. Conclusions: Currently, there is little research coverage on the different aspects of sustainability in software engineering while other disciplines are already more active. Future work includes extending the study by reviewing a higher number of publications, including dedicated journal and workshop searches, and snowballing.Peer ReviewedPostprint (author's final draft

    'Create the future': an environment for excellence in teaching future-oriented Industrial Design Engineering

    Get PDF
    In 2001, the University of Twente started a new course on Industrial Design Engineering. This paper describes the insights that have been employed in developing the curriculum, and in developing the environment in which the educational activities are facilitated. The University of Twente has a broad experience with project-oriented education [1], and because one of the goals of the curriculum is to get the students acquainted with working methods as employed in e.g. design bureaus, this project-oriented approach has been used as the basis for the new course. In everyday practice, this implies a number of prerequisites to be imposed on the learning environment: instead of focusing on the sheer transfer of information, this environment must allow the students to imbibe the knowledge and competences that make them better designers. Consequently, a much more flexible environment has to be created, in which working as a team becomes habitual, and where cutting-edge technologies are available to facilitate the process. This can be realized because every student owns a laptop, with all relevant software and a full-grown course management system within reach. Moreover, the learning environment provides the fastest possible wireless network and Internet access available [2]. This obviously has its repercussions on the way the education is organized. On the one hand, e.g. virtual reality tools, CAD software and 3D printing are addressed in the curriculum, whereas on the other hand more traditional techniques (like sketching and model making) are conveyed explicitly as well. Together with a sound footing in basic disciplines ranging from mathematics to design history, this course offers the students a profound education in Industrial Design Engineering. The paper describes in more detail the curriculum and the education environment, based on which it is assessed if the course on Industrial Design Engineering can live up to its motto: ‘Create the future’, and what can be done to further enable the students to acquire the full denotation of that motto
    • …
    corecore