375 research outputs found

    Visualisations novatrices pour la compréhension de réseaux et de logiciels complexes

    Get PDF
    La visualisation d’information a le potentiel de pouvoir exploiter nos capacitĂ©s visuelles, acquises au fil de centaines de millions d’annĂ©es d’évolution, afin de faciliter la dĂ©couverte de secrets enfouis dans les donnĂ©es, de nouveaux patrons ou de relations insoupçonnĂ©es. Il existe toutefois une grande variĂ©tĂ© de donnĂ©es, plus ou moins structurĂ©es, que l’on cherche Ă  comprendre sous diverses perspectives. En particulier, les donnĂ©es sous forme de rĂ©seaux servent Ă  modĂ©liser des phĂ©nomĂšnes importants, tels que les communautĂ©s sociales ou les transactions financiĂšres, mais peuvent ĂȘtre difficiles Ă  reprĂ©senter si les rĂ©seaux sont grands, hiĂ©rarchiques, et/ou dynamiques. Cette thĂšse se concentre sur la conception de nouvelles techniques de visualisation de rĂ©seaux, dans le but de faciliter la comprĂ©hension de donnĂ©es. Les techniques de visualisation prĂ©sentes dans la littĂ©rature sont utiles dans certains contextes et comportent chacune des limitations. NĂ©anmoins, il existe encore des possibilitĂ©s inexplorĂ©es pour crĂ©er des nouvelles façons de reprĂ©senter des donnĂ©es. La validation de ces nouvelles techniques demeure un dĂ©fi. En outre, les interfaces doivent ĂȘtre simples Ă  utiliser, mais aussi faciliter l’analyse et l’exploration de donnĂ©es. Dans le but d’étudier de nouvelles options de visualisations pour faciliter des tĂąches de comprĂ©hension des donnĂ©es, nous avons d’abord classifiĂ© les travaux antĂ©rieurs avec des taxonomies. De cette maniĂšre, nous avons aussi pu mettre en lumiĂšre des nouvelles pistes d’hybrides (c’est-Ă -dire, des combinaisons d’approches) potentiellement intĂ©ressantes pour visualiser des rĂ©seaux statiques et dynamiques. Les contributions prĂ©sentĂ©es dans cette thĂšse couvrent diffĂ©rents aspects de la visualisation de rĂ©seaux complexes et dynamiques. D’abord, le premier chapitre se concentre sur la visualisation de rĂ©seaux statiques comportant des hiĂ©rarchies, par la combinaison d’approches. Le prototype dĂ©crit dans le deuxiĂšme chapitre permet Ă©galement de combiner des reprĂ©sentations visuelles, mais peut ĂȘtre aussi utilisĂ© afin de modĂ©liser des graphes dynamiques. Enfin, le troisiĂšme chapitre prĂ©sente une nouvelle mĂ©thode visuelle appliquĂ©e afin de tracer l’évolution de structures de conception complexes dans des logiciels (modĂ©lisĂ©s par des rĂ©seaux). Ainsi, dans le premier prototype (TreeMatrix), des parties de graphes sont montrĂ©es avec des matrices et des diagrammes noeuds-liens, alors que les arborescences sont reprĂ©sentĂ©es par des diagrammes en glaçons et des regroupements. Contrairement aux autres visualisations dans la littĂ©rature, cette nouvelle technique aide Ă  montrer des rĂ©seaux denses, sans nuire Ă  la comprĂ©hension des liens Ă  plus haut niveau. Une expĂ©rience avec des utilisateurs a montrĂ© certains avantages afin de dĂ©couvrir et organiser les liens de modules au sein d’un logiciel, en comparaison avec le logiciel commercial Lattix. Nous avons Ă©galement combinĂ© des approches de maniĂšre novatrice pour notre second prototype (DiffAni) afin de visualiser des rĂ©seaux qui Ă©voluent dans le temps. DiffAni est le premier hybride interactif de graphes dynamiques et sa validation avec des participants a permis de faire ressortir certains avantages. Ainsi, l’utilisation d’animation doit ĂȘtre modĂ©rĂ©e et est surtout utile lors de mouvements significatifs. Ces rĂ©sultats, avec nos taxonomies, pourraient contribuer Ă  guider la crĂ©ation de nouveaux hybrides dans le futur. Le troisiĂšme prototype (IHVis) a facilitĂ© l’exploration et le traçage de structures de conception dans des logiciels en Ă©volution (modĂ©lisĂ©s par des rĂ©seaux) Ă  partir de rĂ©pertoires de code source. Cette nouvelle visualisation a notamment rĂ©vĂ©lĂ© des cas d’introduction de points de stabilitĂ© et des refactorings, et certains participants ont aussi trouvĂ© d’autres informations intĂ©ressantes, telles que l’extension de fonctionnalitĂ©s par l’implĂ©mentation d’interfaces. En rĂ©sumĂ©, cette thĂšse prĂ©sente des façons novatrices et utiles de visualiser des rĂ©seaux complexes et dynamiques. Nos principales contributions sont (1) l’exploration d’espaces de conception de nouvelles visualisations de rĂ©seaux Ă  l’aide de taxonomies, (2) la conception de prototypes combinant des approches pour visualiser des rĂ©seaux hiĂ©rarchiques et dynamiques, (3) la conception d’une nouvelle mĂ©thode visuelle d’exploration des variations et des instabilitĂ©s au sein de logiciels en Ă©volution, (4) l’évaluation de ces techniques Ă  l’aide d’expĂ©riences avec des participants

    Change-centric improvement of team collaboration

    Get PDF
    In software development, teamwork is essential to the successful delivery of a final product. The software industry has historically built software utilizing development teams that share the workplace. Process models, tools, and methodologies have been enhanced to support the development of software in a collocated setting. However, since the dawn of the 21st century, this scenario has begun to change: an increasing number of software companies are adopting global software development to cut costs and speed up the development process. Global software development introduces several challenges for the creation of quality software, from the adaptation of current methods, tools, techniques, etc., to new challenges imposed by the distributed setting, including physical and cultural distance between teams, communication problems, and coordination breakdowns. A particular challenge for distributed teams is the maintenance of a level of collaboration naturally present in collocated teams. Collaboration in this situation naturally d r ops due to low awareness of the activity of the team. Awareness is intrinsic to a collocated team, being obtained through human interaction such as informal conversation or meetings. For a distributed team, however, geographical distance and a subsequent lack of human interaction negatively impact this awareness. This dissertation focuses on the improvement of collaboration, especially within geographically dispersed teams. Our thesis is that by modeling the evolution of a software system in terms of fine-grained changes, we can produce a detailed history that may be leveraged to help developers collaborate. To validate this claim, we first c r eate a model to accurately represent the evolution of a system as sequences of fine- grained changes. We proceed to build a tool infrastructure able to capture and store fine-grained changes for both immediate and later use. Upon this foundation, we devise and evaluate a number of applications for our work with two distinct goals: 1. To assist developers with real-time information about the activity of the team. These applications aim to improve developers’ awareness of team member activity that can impact their work. We propose visualizations to notify developers of ongoing change activity, as well as a new technique for detecting and informing developers about potential emerging conflicts. 2. To help developers satisfy their needs for information related to the evolution of the software system. These applications aim to exploit the detailed change history generated by our approach in order to help developers find answers to questions arising during their work. To this end, we present two new measurements of code expertise, and a novel approach to replaying past changes according to user-defined criteria. We evaluate the approach and applications by adopting appropriate empirical methods for each case. A total of two case studies – one controlled experiment, and one qualitative user study – are reported. The results provide evidence that applications leveraging a fine-grained change history of a software system can effectively help developers collaborate in a distributed setting

    Technical Debt in Software Development : Examining Premises and Overcoming Implementation for EïŹƒcient Management

    Get PDF
    Software development is a unique ïŹeld of engineering: all software constructs retain their modiïŹability — arguably, at least — until client release, no single project stakeholder has exhaustive knowledge about the project, and even this portion of the knowledge is generally acquired only at project completion. These characteristics imply that the ïŹeld of software development is subject to design decisions that are known to be sub-optimal—either deliberately emphasizing interests of particular stakeholders or indeliberately harming the project due to lack of exhaustive knowledge. Technical debt is a concept that accounts for these decisions and their eïŹ€ects. The concept’s intention is to capture, track, and manage the decisions and their products: the aïŹ€ected software constructs. Reviewing the previous, it is vital for software development projects to acknowledge technical debt both as an enabler and as a hindrance. This thesis looks into facilitating eïŹƒcient technical debt management for varying software development projects. In the thesis, examination of technical debt’s role in software development produces the premises on to which a management implementation approach is introduced. The thesis begins with a revision of motivations. Basing on prior research in the ïŹelds of technical debt management and software engineering in general, the ïŹve motivations establish the premises for technical debt in software development. These include notions of subjectivity in technical debt estimation, update frequency demands posed on technical debt information, and technical debt’s polymorphism. Three research questions are derived from the motivations. They ask for tooling support for technical debt management, capturing and modelling technical debt propagation, and characterizing software development environments and their technical debt instances. The questions imply consecutive completion as the ïŹrst pursued tool would beneïŹt from—possibly automatically assessable—propagation models, and ïŹnally the tool’s introduction to software development organizations could be assisted by tailoring it based on the software development environment and the technical debt instance characterizations. The thesis has seven included publications. In introducing them, the thesis maps their backgrounds to the motivations and their outcomes to the research questions. Amongst the outcomes are the DebtFlag tool for technical debt management, the procedures for retrospectively capturing technical debt from software repositories, a procedure for technical debt propagation model creation from these retrospectives, and a multi-national survey characterizing software development environments and their technical debt instances. The thesis concludes that the tooling support, the technical debt propagation modelling, and the software environment and technical debt instance characterization describe an implementation approach to further eïŹƒcient technical debt management. Simultaneously, future work is implied as all previously described eïŹ€orts need to be continued and extended. Challenges also remain in the introduced approach. An example of this is the combinatorial explosion of technology-development-context-combinations that technical debt propagation modelling needs to consider. All combinations have to be managed if exhaustive modelling is desired. There is, however, a great deal of motivation to pursue these eïŹ€orts when one re-notes that technical debt is a permanent component of software development that, when correctly managed, is a development eïŹƒciency mechanism comparable to a ïŹnancial loan investment.Ohjelmistokehitys on uniikki tekniikan ala: kaikki ohjelmistorakenteet sĂ€ilyttĂ€vĂ€t muokattavuutensa — otaksuttavasti ainakin — asiakasjulkaisuun asti. YhdenkÀÀn projektiosakkaan tietĂ€mys ei kata koko projektia ja merkittĂ€vĂ€ osa tĂ€stĂ€kin tiedosta karttuu vasta projektin suorittamisen aikana. NĂ€mĂ€ ominaisuudet antavat ymmĂ€rtÀÀ, ettĂ€ ohjelmistokehitysala on sellaisten suunnitelupÀÀtösten kohde, joiden tiedetÀÀn olevan epĂ€tĂ€ydellisiÀ—joko tarkoituksella tiettyjen projektiosakkaiden intressejĂ€ painottavia tai tahattomasti projektia vahingoittavia puutteelliseen tietoon perustuvia. Tekninen velka on konsepti, joka huomioi nĂ€mĂ€ pÀÀtökset sekĂ€ niiden vaikutukset. Konseptin tarkoitus on havaita, seurata ja hallita nĂ€itĂ€ pÀÀtöksiĂ€ sekĂ€ tuloksena syntyviĂ€ teknisen velan vaikutuksen alla olevia ohjelmistorakenteita. Edellisen kuvauksen valossa ohjelmistokehitysprojekteille on erityisen tĂ€rkeÀÀ huomioida tekninen velka sekĂ€ mahdollistajana ettĂ€ hidasteena. TĂ€mĂ€n vuoksi kyseinen vĂ€itöskirja perehtyy tehokkaan teknisen velan hallinnan fasilitointiin moninaisille ohjelmistokehitysprojekteille. VĂ€itöskirjassa tarkastellaan teknisen velan roolia osana ohjelmistokehitystĂ€. Tarkastelu tuottaa joukon premissejĂ€, joihin perustuen esitellÀÀn lĂ€hestymistapa teknisen velan hallinnan toteuttamiselle. Viisi vĂ€itöskirjan alussa esitettyĂ€ motivaatiota kiinnittĂ€vĂ€t ne premissit,joille ratkaisu esitetÀÀn. Motivaatiot rakennetaan olemassa olevaan teknisen velan sekĂ€ ohjelmistotekniikan tutkimustietoon perustuen. NĂ€ihin lukeutuvat muun muassa subjektiivisuus teknisen velan estimoinnissa, teknisen velan informaatiolle nĂ€hdyt pĂ€ivitystaajuusvaatimukset sekĂ€ teknisen velan polymorïŹsmi. Havainnoista johdetaan kolme tutkimuskysymystĂ€. Ne tavoittelevat työkalutukea teknisen velan hallinnalle, velan propagoitumisen havainnointia sekĂ€ mallinnusta kuin myös ohjelmistotuotantoympĂ€ristöjen ja niiden velka instanssien kuvaamista. Tutkimuskysymykset implikoivat perĂ€kkĂ€istĂ€ suoritusta: tavoiteltu työkalu hyötyy—mahdollisesti automaattisesti arvoitavista—teknisen velan propagaatiomalleista. Valmiin työkalun kĂ€yttöönottoa voidaan taas edistÀÀ jos kuvaukset kehitysympĂ€ristöistĂ€ sekĂ€ niiden velkainstansseista ovat kĂ€ytettĂ€vissĂ€ työkalun rÀÀtĂ€löintiin. VĂ€itöskirjaaan sisĂ€ltyy seitsemĂ€n julkaisua. VĂ€itöskirja esittelee ne kiinnittĂ€mĂ€llĂ€ julkaisujen taustatyön aikaisemmin mainittuihin motivaatioihin sekĂ€ niiden tulokset edellisiin tutkimuskysymyksiin. Tuloksista huomioidaan esimerkiksi DebtFlag-työkalu teknisen velan hallintaan, retrospektiivinen prosessi teknisen velan kartoittamiselle versionhallintajĂ€rjestelmistĂ€, prosessi teknisen velan mallien rakentamiselle nĂ€istĂ€ kartoituksista ja monikansallinen kyselytutkimus ohjelmistokehitysympĂ€ristöjen sekĂ€ nĂ€iden teknisen velan instanssien luonnehtimiseksi. VĂ€itöskirjan yhteenvetona huomioidaan, ettĂ€ teknisen velan hallinnan työkalutuki, teknisen velan propagaatiomallinnus ja ohjelmistokehitysympĂ€ristöjen sekĂ€ niiden teknisen velan instanssien luonnehdinta muodostavat toteutustavan, jolla teknisen velan tehokasta hallintaa voidaan kehittÀÀ. Samalla implikoidaan jatkotoimia, sillĂ€ kaikkia edellĂ€ kuvattuja työn osia tulee jatkaa ja laajentaa. Toteutustavalle nĂ€hdÀÀn myös haasteita. ErĂ€s nĂ€istĂ€ on kombinatorinen rĂ€jĂ€hdys teknologia- ja kehityskontekstikombinaatioille. Kaikki kombinaatiot tulee huomioida mikĂ€li teknisen velan propagaatiomallinnuksesta halutaan kattavaa. Motivaatio vĂ€itöskirjassa esitetyn työn jatkamiselle on huomattavaa ja sitĂ€ kasvattaa entuudestaan edellĂ€ tehty huomio siitĂ€, ettĂ€ tekninen velka on pysyvĂ€ komponentti ohjelmistokehityksessĂ€, joka oikein hallittuna on kehitystehokkuutta edistĂ€vĂ€nĂ€ komponenttina verrattavissa ïŹnanssialan lainainvestointiin.Siirretty Doriast

    Semantic discovery and reuse of business process patterns

    Get PDF
    Patterns currently play an important role in modern information systems (IS) development and their use has mainly been restricted to the design and implementation phases of the development lifecycle. Given the increasing significance of business modelling in IS development, patterns have the potential of providing a viable solution for promoting reusability of recurrent generalized models in the very early stages of development. As a statement of research-in-progress this paper focuses on business process patterns and proposes an initial methodological framework for the discovery and reuse of business process patterns within the IS development lifecycle. The framework borrows ideas from the domain engineering literature and proposes the use of semantics to drive both the discovery of patterns as well as their reuse

    Resolving Unwanted Couplings Through Interactive Exploration of Co-Evolving Software Entities: An Experience Report

    No full text
    Context: Frequent changes to groups of software entities belonging to different parts of the system may indicate unwanted couplings between those parts. Visualizations of co-changing software entities have been proposed to help developers identify unwanted couplings. Identifying unwanted couplings, however, is only the first step towards an important goal of a software architect: to improve the decomposition of the software system. An in-depth analysis of co-changing entities is needed to understand the underlying reasons for co-changes, and also determine how to resolve the issues. Objective: In this paper we discuss how interactive visualizations can support the process of analyzing the identified unwanted couplings. Method: We applied a tool that interactively visualizes software evolution in 10 working sessions with architects and developers of a large embedded software system having a development history of more than a decade. Results: The participants of the working sessions were overall very positive about their experiences with the interactive visualizations. In 70% of the cases investigated, a decision could be taken on how to resolve the unwanted couplings. Conclusion: Our experience suggests that interactive visualization not only helps to identify unwanted couplings but it also helps experts to reason about and resolve them. © 2011 Elsevier B.V. All rights reserved

    Moving sounds and sonic moves : exploring interaction quality of embodied music mediation technologies through a user-centered perspective

    Get PDF
    This research project deals with the user-experience related to embodied music mediation technologies. More specifically, adoption and policy problems surrounding new media (art) are considered, which arise from the usability issues that to date pervade new interfaces for musical expression. Since the emergence of new wireless mediators and control devices for musical expression, there is an explicit aspiration of the creative industries and various research centers to embed such technologies into different areas of the cultural industries. The number of applications and their uses have exponentially increased over the last decade. Conversely, many of the applications to date still suffer from severe usability problems, which not only hinder the adoption by the cultural sector, but also make culture participants take a rather cautious, hesitant, or even downright negative stance towards these technologies. Therefore, this thesis takes a vantage point that is in part sociological in nature, yet has a link to cultural studies as well. It combines this with a musicological frame of reference to which it introduces empirical user-oriented approaches, predominantly taken from the field of human-computer-interaction studies. This interdisciplinary strategy is adopted to cope with the complex nature of digital embodied music controlling technologies. Within the Flanders cultural (and creative) industries, opportunities of systems affiliated with embodied interaction are created and examined. This constitutes an epistemological jigsaw that looks into 1) “which stakeholders require what various levels of involvement, what interactive means and what artistic possibilities?”, 2) “the way in which artistic aspirations, cultural prerequisites and operational necessities of (prospective) users can be defined?”, 3) “how functional, artistic and aesthetic requirements can be accommodated?”, and 4) “how quality of use and quality of experience can be achieved, quantified, evaluated and, eventually, improved?”. Within this multi-facetted problem, the eventual aim is to assess the applicability of the foresaid technology, both from a theoretically and empirically sound basis, and to facilitate widening and enhancing the adoption of said technologies. Methodologically, this is achieved by 1) applied experimentation, 2) interview techniques, 3) self-reporting and survey research, 4) usability evaluation of existing devices, and 5) human-computer interaction methods applied – and attuned – to the specific case of embodied music mediation technologies. Within that scope, concepts related to usability, flow, presence, goal assessment and game enjoyment are scrutinized and applied, and both task- and experience-oriented heuristics and metrics are developed and tested. In the first part, covering three chapters, the general context of the thesis is given. In the first chapter, an introduction to the topic is offered and the current problems are enumerated. In the second chapter, a broader theoretical background is presented of the concepts that underpin the project, namely 1) the paradigm of embodiment and its connection to musicology, 2) a state of the arts concerning new interfaces for musical expression, 3) an introduction into HCI-usability and its application domain in systematic musicology, 4) an insight into user-centered digital design procedures, and 5) the challenges brought about by e-culture and digitization for the cultural-creative industries. In the third chapter, the state of the arts concerning the available methodologies related to the thesis’ endeavor is discussed, a set of literature-based design guidelines are enumerated and from this a conceptual model is deduced which is gradually presented throughout the thesis, and fully deployed in the “SoundField”-project (as described in Chapter 9). The following chapters, contained in the second part of the thesis, give a quasi-chronological overview of how methodological concepts have been applied throughout the empirical case studies, aimed specifically at the exploration of the various aspects of the complex status quaestionis. In the fourth chapter, a series of application-based tests, predominantly revolving around interface evaluation, illustrate the complex relation between gestural interfaces and meaningful musical expression, advocating a more user-centered development approach to be adopted. In the fifth chapter, a multi-purpose questionnaire dubbed “What Moves You” is discussed, which aimed at creating a survey of the (prospective) end-users of embodied music mediation technologies. Therefore, it primarily focused on cultural background, musical profile and preferences, views on embodied interaction, literacy of and attitudes towards new technology and participation in digital culture. In the sixth chapter, the ethnographical studies that accompanied the exhibition of two interactive art pieces, entitled "Heart as an Ocean" & "Lament", are discussed. In these studies, the use of interview and questionnaire methodologies together with the presentation and reception of interactive art pieces, are probed. In the seventh chapter, the development of the collaboratively controlled music-game “Sync-In-Team” is presented, in which interface evaluation, presence, game enjoyment and goal assessment are the pivotal topics. In the eighth chapter, two usability studies are considered, that were conducted on prototype systems/interfaces, namely a heuristic evaluation of the “Virtual String” and a usability metrics evaluation on the “Multi-Level Sonification Tool”. The findings of these two studies in conjunction with the exploratory studies performed in association with the interactive art pieces, finally gave rise to the “SoundField”-project, which is recounted in full throughout the ninth chapter. The integrated participatory design and evaluation method, presented in the conceptual model is fully applied over the course of the “SoundField”-project, in which technological opportunities and ecological validity and applicability are investigated through user-informed development of numerous use cases. The third and last part of the thesis renders the final conclusions of this research project. The tenth chapter sets out with an epilogue in which a brief overview is given on how the state of the arts has evolved since the end of the project (as the research ended in 2012, but the research field has obviously moved on), and attempts to consolidate the implications of the research studies with some of the realities of the Flemish cultural-creative industries. Chapter eleven continues by discussing the strengths and weaknesses of the conceptual model throughout the various stages of the project. Also, it comprises the evaluation of the hypotheses, how the assumptions that were made held up, and how the research questions eventually could be assessed. Finally, the twelfth and last chapter concludes with the most important findings of the project. Also, it discusses some of the implications on cultural production, artistic research policy and offers an outlook on future research beyond the scope of the “SoundField” project

    Fourth Annual Workshop on Space Operations Applications and Research (SOAR 90)

    Get PDF
    The proceedings of the SOAR workshop are presented. The technical areas included are as follows: Automation and Robotics; Environmental Interactions; Human Factors; Intelligent Systems; and Life Sciences. NASA and Air Force programmatic overviews and panel sessions were also held in each technical area

    Open Source Software Evolution and Its Dynamics

    Get PDF
    This thesis undertakes an empirical study of software evolution by analyzing open source software (OSS) systems. The main purpose is to aid in understanding OSS evolution. The work centers on collecting large quantities of structural data cost-effectively and analyzing such data to understand software evolution dynamics (the mechanisms and causes of change or growth). We propose a multipurpose systematic approach to extracting program facts (e. g. , function calls). This approach is supported by a suite of C and C++ program extractors, which cover different steps in the program build process and handle both source and binary code. We present several heuristics to link facts extracted from individual files into a combined system model of reasonable accuracy. We extract historical sequences of system models to aid software evolution analysis. We propose that software evolution can be viewed as Punctuated Equilibrium (i. e. , long periods of small changes interrupted occasionally by large avalanche changes). We develop two approaches to study such dynamical behavior. One approach uses the evolution spectrograph to visualize file level changes to the implemented system structure. The other approach relies on automated software clustering techniques to recover system design changes. We discuss lessons learned from using these approaches. We present a new perspective on software evolution dynamics. From this perspective, an evolving software system responds to external events (e. g. , new functional requirements) according to Self-Organized Criticality (SOC). The SOC dynamics is characterized by the following: (1) the probability distribution of change sizes is a power law; and (2) the time series of change exhibits long range correlations with power law behavior. We present empirical evidence that SOC occurs in open source software systems
    • 

    corecore