7 research outputs found

    Empirical observations on requirements engineering practices in Palestine

    Get PDF
    Requirements Engineering (RE) is critical to the success of software development projects. Industrial software projects that apply poor RE practices usually suffer from severe quality challenges and even project failures. Even though RE has been drawing more attention in the literature, there is a lack of empirical evidence of RE practices and challenges at industrial contexts. To address this we carried out a study to evaluate the perspectives of software engineers on their RE practices to understand more about how software engineers approach RE process and what are the challenges they face. We conducted a multi-case study by interviewing 8 participants from 5 software development companies in Palestine. Our results show that for all the RE process seems to be fairly systematic with whole team involvement. Further, the agile RE model is the dominant model, and over half reported that key challenges are caused by issues that originated from the client side. Finally, we highlight interesting future RE research from the perspective of industrial practitioners

    Modelling hand gestures to test leap motion controlled applications

    Get PDF
    Programs that use a Natural User Interface (NUI) are not controlled with a mouse and keyboard, but through input devices that monitor the user’s body movements. Manually testing applications through such interfaces is time-consuming. Generating realistic test data automatically is also challenging, because the input is a complex data structure that represents real body structures and movements. Previously, it has been shown that models learned from user interactions can be used to generate tests for NUI applications controlled by the Microsoft Kinect. In this paper, we study the case of the Leap Motion input device, which allows applications to be controlled with hand movements and finger positions, resulting in substantially more complex input data structures. We present a framework to model human hand data interacting with applications, and generate test data automatically from these models. We also evaluate the influence of the training data, as well as the influence of using a single model of the complete user data vs. multiple models for the different aspects of hand movement (e.g., finger positions, hand positions, hand rotations). Experiments on five applications controlled by the Leap Motion demonstrate that our approach generates effective test data. The quality and quantity of the training data used to derive the models is the main factor that determines their effectiveness. On the other hand, the effects of using multiple (as opposed to single) models are minor and application specific

    Data-Driven Analysis towards Monitoring Software Evolution by Continuously Understanding Changes in Users’ Needs

    Get PDF
    Ohjelmistot eivät usein vastaa käyttäjiensä odotuksia siitä huolimatta, että niiden odotetaan tarjoavan riittävä toiminnallisuus ja olevan virheettömiä. Tästä syystä ohjelmiston ylläpito on väistämätöntä ja tärkeää jokaiselle ohjelmistoyritykselle, joka haluaa pitää tuotteensa tai palvelunsa kannattavana. Koska kilpailu nykyajan ohjelmistomarkkinoilla on tiukkaa ja käyttäjien on helppo lopettaa tuotteen käyttö, yritysten on erityisen tärkeää tarkkailla ja ylläpitää käyttäjätyytyväisyyttä pitkäaikaisen menestyksen turvaamiseksi. Tämän saavuttamiseksi tärkeää on jatkuvasti ymmärtää ja kohdata käyttäjien tarpeet ja odotukset, sillä on tehokkaampaa kohdentaa ylläpito käyttäjien esittämien ongelmien perusteella. Toisaalta internet-teknologiat ovat kehittyneet nopeasti samalla, kun käyttäjien luoman sisällön määrä on kasvanut räjähdysmäisesti. Käyttäjien antama palaute (numeerinen arvostelu, ehdotus tai tekstuaalinen arvio) on esimerkki tällaisesta käyttäjien luomasta sisällöstä ja sen merkitys tuotteiden kehittämisessä asiakkaiden tarpeiden pohjalta kasvaa jatkuvasti. Käyttäjien tarpeiden ymmärtäminen on erityisen tärkeää jatkuvaa ylläpitoa ja kehitystystä vaativissa ohjelmistoissa. Tällöin on myös oleellista ymmärtää, miten asiakkaiden mielipiteet muuttuvat ajan kuluessa. Tämän lisäksi datan louhimisen ja koneoppimisen kehitys vähentävät vaivaa, joka käyttäjän tuottaman datan analysointiin ja erityisesti heidän käyttymisensä ymmärtämiseen tarvitaan. Vaikka useat tutkimukset ehdottavat tietokeskeistä lähestymistä palautteen arvioin- tiin, ohjelmiston ylläpitoa ja kehitystä hyödyntäviä lähestymistapoja on vähän. Monet menetelmät keskittyvät arvostelujen analysoinnissa tekstinlouhintaan paljastaakseen käyttäjien mielipiteet. Useat menetelmät keskittyvät myös tunnistamaan ja luokit- telemaan palautetyyppejä kuten ominaisuuspyyntöjä, virheilmoituksia ja tunteenilmauksia. Jotta ohjelmiston ylläpidosta saataisiin tehokkaampaa, tarvitaankin tehokas lähestymistapa ohjelmiston havaitun käyttäjäkokemuksen ja sen muutosten tarkkailuun ohjelmiston kehittyessä.Software products, though always being expected to provide satisfactory functionalities and be bug-free, somehow fail to meet the expectations of their users. Thus, software maintenance is inevitable and critical for any software companies who want their products or services to continue profiting. On the other hand, due to the fierce competitiveness in the contemporary software market, as well as the ease of user churns, monitoring and sustaining the satisfaction of the users is a critical criterion for the long-term success of any software products within their evolution stage. To such an end, continuously understanding and meeting the users’ needs and expectations is the key, as it is more efficient and effective to allocate maintenance effort accordingly to address the issues raised by users. On the other hand, accompanied by the rapid development of internet technologies, the volume of user-generated content has been increasing exponentially. Among such user-generated content, feedback from the customers, either numeric rating, recommendation, or textual reviews, have been playing an increasingly critical role in product designs in terms of understanding customers’ needs. Especially for software products that require constant maintenance and are continuously evolving, understanding of users’ needs and complaints, as well as the changes in their opinions through time, is of great importance. Additionally, supported by the advance of data mining and machine learning techniques, the effort of knowledge discovery from analyzing such data and specially understanding the behavior of the users shall be largely reduced. However, though many studies propose data-driven approaches for feedback analysis, the ones specifically on applying such methods supporting software maintenance and evolution are limited. Many studies focus on the text mining perspective of review analysis towards eliciting users’ opinions. Many others focus on the detection and classification of feedback types, e.g., feature requests, bug reports, and emotion expression, etc. For the purpose of enhancing the effectiveness in soft ware maintenance and evolution practice, an effective approach on the software’s perceived user experience and the monitoring of its changes during evolution is re- quired. To support the practice of software maintenance and evolution targeting enhancing user satisfaction, we propose a data-driven user review analysis approach. The contribution of this research aims to answer the following research questions: RQ1. How to analyze users’ collective expectation and perceived quality in use with data- driven approaches by exploiting sentiment and topics? RQ2. How to monitor user satisfaction over software updates during software evolution using reviews’ topics and sentiments? RQ3. How to analyze users’ profiles, software types and situational contexts as contexts of use that supports the analysis of user satisfaction? Towards answering RQ1, the thesis proposes a data-driven approach of user perceived quality evaluation and users’ needs extraction via sentiment analysis and topic modeling on large volume of user review data. Based on such outcome, the answer to RQ2 encompasses of 1) the approach to monitor user opinion changes through software evolution by detecting similar topic pairs and 2) the approach to identify the problematic updates based on anomalies in review sentiment distribution. Towards the answer to RQ3, a three-fold analysis is proposed: 1) situational contexts and ways of interaction analysis, 2) user profile and preference analysis and 3) software type and related features analysis. All the above approaches are validated by case studies. This thesis contributes to the examination of applying data-driven end user re- view analysis methods supporting software maintenance and evolution. The main implication is to enrich the existing domain knowledge of software maintenance and evolution in terms of taking advantage of the collective intelligence of end users. In addition, it conveys unique contribution to the research on software evolution con- texts in terms of various meaningful aspects and leads to a potential interdisciplinary contribution as well. On the other hand, this thesis also contributes to software maintenance and evolution practice even in the larger scope of the software industry by proposing an effective series of approaches that address critical issues within. It helps the developers ease their effort in release planning and other decision-making activities

    Beyond the Frontiers of Timeline-based Planning

    Get PDF
    Any agent, either biological or artificial, understands how to behave in its environment according to its prior knowledge and to its prior experience. The process of deciding which actions to undertake and how to perform them so as to achieve some desired objective is called deliberation. In particular, planning is an abstract and explicit deliberation process that chooses and organizes actions, by anticipating their expected outcomes, with the aim to achieve, as best as possible, some pre-stated objectives called goals. Among the most widespread approaches to automated planning, the classical approach broadly pursues to the following definition of planning: starting from a description of the initial state of the world, a description of the desired goals, and a description of a set of possible actions, the planning problem consists in synthesizing a plan, i.e., a sequence of actions, that is guaranteed, when applied to the initial state, to generate a state, called a goal state, which contains the desired goals. In order to cope with computational complexity, however, the classical approach to planning introduces some restrictive assumptions. Among them, for example, there is no explicit model of time and concurrency is treated only roughly. Additionally, goals are specified as a set of goal states, therefore, objectives such as states to be avoided and constraints on state trajectories or utility functions are not handled. In order to relax these restrictions, some alternative approaches have been proposed over the years. The timeline-based approach to planning, in particular, represents an effective alternative to classical planning for complex domains requiring the use of both temporal reasoning and scheduling features. This thesis focuses on timeline-based planning, aiming at solving some efficiency issues which inevitably raise as a consequence of the drop out of these restrictions. Regardless of the followed approach, indeed, it turns out that automated planning is a rather complex task from a computational point of view. Furthermore, not all of the approaches proposed in literature can rely on effective heuristics for efficiently tackling the search. This is particularly true in the case of the more recent and hence less investigated timeline-based formulation. Most of the timeline-based planners, in particular, have usually neglected the advantages triggered in classical planning from the use of Graphplan and/or modern heuristic search, namely the capability of reasoning on the whole domain model. This thesis aims at reducing the performance gap between the classical approach at planning and the timeline-based one. Specifically, the overall goal is to improve the efficiency of timeline-based reasoners taking inspiration from techniques applied in more classical approaches to planning. The main contributions of this thesis, therefore, are a) a new formalism for timeline-based planning which overcomes some limitations of the existing ones; b) a set of heuristics, inspired by the classical approach, that improve the performance of the timeline-based approach to planning; c) the introduction of sophisticated techniques like the non-chronological backtracking and the no-good learning, commonly used in other fields such as Constraint Processing, into the search process;d) the reorganization of the existing solver architectures, of a new solver called ORATIO, that allows to push the reasoning process beyond the sole automated planning, winking at emerging fields like, for example, Explainable AI and e) the introduction of a new language for expressing timeline-based planning problems called RIDDLE

    Maritime expressions:a corpus based exploration of maritime metaphors

    Get PDF
    This study uses a purpose-built corpus to explore the linguistic legacy of Britain’s maritime history found in the form of hundreds of specialised ‘Maritime Expressions’ (MEs), such as TAKEN ABACK, ANCHOR and ALOOF, that permeate modern English. Selecting just those expressions commencing with ’A’, it analyses 61 MEs in detail and describes the processes by which these technical expressions, from a highly specialised occupational discourse community, have made their way into modern English. The Maritime Text Corpus (MTC) comprises 8.8 million words, encompassing a range of text types and registers, selected to provide a cross-section of ‘maritime’ writing. It is analysed using WordSmith analytical software (Scott, 2010), with the 100 million-word British National Corpus (BNC) as a reference corpus. Using the MTC, a list of keywords of specific salience within the maritime discourse has been compiled and, using frequency data, concordances and collocations, these MEs are described in detail and their use and form in the MTC and the BNC is compared. The study examines the transformation from ME to figurative use in the general discourse, in terms of form and metaphoricity. MEs are classified according to their metaphorical strength and their transference from maritime usage into new registers and domains such as those of business, politics, sports and reportage etc. A revised model of metaphoricity is developed and a new category of figurative expression, the ‘resonator’, is proposed. Additionally, developing the work of Lakov and Johnson, Kovesces and others on Conceptual Metaphor Theory (CMT), a number of Maritime Conceptual Metaphors are identified and their cultural significance is discussed
    corecore