448 research outputs found

    SIAC Filtering for Nonlinear Hyperbolic Equations

    Get PDF
    We present the results of the symmetric and one-sided Smoothness-Increasing Accuracy-Conserving (SIAC) filter applied to a discontinuous Galerkin (DG) approximation for two examples of nonlinear hyperbolic conservation laws. The traditional symmetric SIAC filter relies on having a translation invariant mesh, periodic boundary conditions and linear equations. However, for practical applications that are modelled by nonlinear hyperbolic equations, this is not feasible. Instead we must concentrate on a filter that allows error reduction for nonuniform/unstructured meshes and non-periodic boundary conditions for nonlinear hyperbolic equations. This proceedings is an introductory exploration into the feasibility of these requirements for efficient filtering of nonlinear equations

    Profiling Developers Through the Lens of Technical Debt

    Full text link
    Context: Technical Debt needs to be managed to avoid disastrous consequences, and investigating developers' habits concerning technical debt management is invaluable information in software development. Objective: This study aims to characterize how developers manage technical debt based on the code smells they induce and the refactorings they apply. Method: We mined a publicly-available Technical Debt dataset for Git commit information, code smells, coding violations, and refactoring activities for each developer of a selected project. Results: By combining this information, we profile developers to recognize prolific coders, highlight activities that discriminate among developer roles (reviewer, lead, architect), and estimate coding maturity and technical debt tolerance

    Open Tracing Tools: Overview and Critical Comparison

    Get PDF
    Background. Coping with the rapid growing complexity in contemporary software architecture, tracing has become an increasingly critical practice and been adopted widely by software engineers. By adopting tracing tools, practitioners are able to monitor, debug, and optimize distributed software architectures easily. However, with excessive number of valid candidates, researchers and practitioners have a hard time finding and selecting the suitable tracing tools by systematically considering their features and advantages. Objective. To such a purpose, this paper aims to provide an overview of the popular tracing tools on the market via a critical comparison. Method. Herein, we first identified 11 tools in an objective, systematic, and reproducible manner adopting the Systematic Multivocal Literature Review protocol. Then, we characterized each tool looking at the 1) measured features, 2) popularity both in peer-reviewed literature and online media, and 3) benefits and issues. Results. As a result, this paper presents a systematic comparison amongst the selected tracing tools in terms of their features, popularity, benefits and issues. Conclusion. Such a result mainly shows that each tracing tool provides a unique combination of features with also different pros and cons. The contribution of this paper is to provide the practitioners better understanding of the tracing tools facilitating their adoption

    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

    Research on Agile Process Models in Mobile Application Maintenance

    Get PDF
    Together with the rapid development of mobile technology, mobile devices are not only playing a role as mobile phones in our daily lives, but a key to the world-wide social platform with versatile functionalities. Despite of tremendous profit, mobile applications, as the major providers of specific mobile services, are facing fierce competition under the background of mobile blooming. Demanding requirements from users and the constantly changing market trends are driving software companies to provide mobile applications with well-developed features and also continuously satisfactory quality. Therefore, the maintenance of mobile applications is increasingly vital to enable software companies to maintain both profits and reputation by providing constant perfection and enhancement for their products. To provide a more agile and efficient method in guiding mobile application maintenance practice is the main goal of the work in this thesis. In this thesis, the author provides a general description of the agile process of mobile application maintenance. Details are presented concerning maintenance analysis in agile mobile application maintenance as well. Based on data collection and case studies, three maintenance models are proposed including relevant guidelines in order to provide a better way of planning agile maintenance. Other related issues are further discussed as well. Asiasanat:software maintenance, agile, process, mobile application, maintenance mode
    corecore