11 research outputs found

    KĂŒlönbözƑ kĂłdhiba-keresĂ©si megközelĂ­tĂ©sek hatĂ©konysĂĄgĂĄnak vizsgĂĄlata szemkövetƑ rendszerrel

    Get PDF
    A tanulmĂĄny a szemmozgĂĄskövetƑ rendszerek alkalmazhatĂłsĂĄgĂĄt vizsgĂĄlja egy programozĂĄsi feladat tekintetĂ©ben, amely sorĂĄn egy helytelenĂŒl mƱködƑ algoritmus hibĂĄinak feltĂĄrĂĄsa Ă©s kijavĂ­tĂĄsa alatt megfigyelĂ©sre, rögzĂ­tĂ©sre, valamint kiĂ©rtĂ©kelĂ©sre kerĂŒltek a szemmozgĂĄs paramĂ©terek. A vizsgĂĄlat sorĂĄn nĂ©hĂĄny, a tesztalanyokra jellemzƑ paramĂ©ter alkalmazĂĄsĂĄval, kĂ©t csoport kerĂŒlt kialakĂ­tĂĄsra, ahol az elsƑ csoport hibakeresĂ©s sorĂĄn inkĂĄbb az aprĂłbb mĂłdosĂ­tĂĄsokat Ă©s a gyakoribb fordĂ­tĂĄsok Ă©s futtatĂĄsok technikĂĄjĂĄt alkalmazta, amĂ­g a mĂĄsodik csoport tagjai nagyobb hangsĂșlyt fektettek az Ă©rtelmezĂ©sre. A kiĂ©rtĂ©kelĂ©s sorĂĄn a kĂ©t csoport szemmozgĂĄs követĂ©sĂ©re jellemzƑ paramĂ©terek, valamint ezen csoportok hatĂ©konysĂĄgi mutatĂłi kerĂŒltek elemzĂ©sre statisztikai prĂłbĂĄk alkalmazĂĄsĂĄval. Az eredmĂ©nyek azt mutattĂĄk, hogy a kevesebb kapkodĂĄs, az alaposabb megfontoltsĂĄg Ă©s figyelem esetĂ©ben kevesebb informĂĄciĂłmennyisĂ©g feldolgozĂĄsa is elegendƑ a hatĂ©konyabb hibakeresĂ©shez. | The study examines the suitability of eye movement tracking systems for a programming task, during which the parameters of eye movement were monitored, recorded and evaluated in order to discover and correct the errors of a malfunctioning algorithm. During the investigation, based on some parameters typical of the test subjects, two groups were formed. During the debugging of the first group, smaller modifications and the technique of more frequent translations and runs were used, while the members of the second group placed more emphasis on interpretation. During the evaluation, the eye movement tracking parameters of the two groups, as well as the efficiency ndicators of these groups, were analyzed using statistical tests. The results show that processing less amount of information is sufficient for fault-finding in the case of less haste, more thorough consideration and attention

    When details are difficult to portray: enriching vision videos

    Get PDF
    The creation of a shared understanding of the project vision of all relevant stakeholders is vital to the requirements engineering process. One way to create such a shared understanding is through the use of vision videos that visualize the project vision at an early project stage. However, not all functional aspects can be presented. For example, the fact that an access code is valid for only a single use can be hard to visualize. One low-effort solution could be the insertion of short texts or short audio clips. In this work, our question is twofold: What effects do short pieces of additional information have in vision videos? What are suitable ways to add this information to vision videos? To answer these research questions, we investigated three different methods of inserting additional information to vision videos in an eye tracking study. We inserted short texts either below the scene or as overlays and also investigated the addition of short audio clips. These methods were evaluated in terms of participants’ video comprehension, visual effort, cognitive load and subjective preference. The results of our study show that the pieces of additional information improve vision comprehension, thereby supporting the creation of a shared understanding. All investigated methods lead to only marginal increases of the viewers’ cognitive load. Based on our results, we derive recommendations on how to insert additional information in vision videos

    Génération automatique de configurations et de scénarios d'utilisation d'outils de visualisation à partir de spécifications de tùches d'analyse de logiciels

    Get PDF
    Nous proposons une approche qui génÚre des scénarios de visualisation à partir des descriptions de tùches d'analyse de code. La dérivation de scénario est considérée comme un processus d'optimisation. Dans ce contexte, nous évaluons différentes possibilités d'utilisation d'un outil de visualisation donnée pour effectuer la tùche d'analyse, et sélectionnons le scénario qui nécessite le moins d'effort d'analyste. Notre approche a été appliquée avec succÚs à diverses tùches d'analyse telles que la détection des défauts de conception.We propose an approach that derives interactive visualization scenarios from descriptions of code analysis tasks. The scenario derivation is treated as an optimization process. In this context, we evaluate different possibilities of using a given visualization tool to perform the analysis task, and select the scenario that requires the least effort from the analyst. Our approach was applied successfully to various analysis tasks such as design defect detection and feature location

    An Empirical Assessment of the Software Design Pattern Concept

    Get PDF
    Context: The publication of the milestone textbook on design patterns by the ‘Gang of Four’ (GoF) in 1995, introduced a set of 23 design patterns that are largely concerned with improving the practices and products of software development. However, there has been no comprehensive assessment of the effectiveness of design patterns, nor is there any evidence about any claims and factors that are made for pattern reuse in software development. Aims: The aims of this thesis are to assess the design patterns systematically in a sequence of studies, and to identify the claims and factors to determine how well they reflect experiences of pattern reuse in practice. Method: This thesis describes four studies: a document survey to identify claims for patterns, a mapping study to identify empirical studies about patterns, an online survey, and a narrative synthesis. The mapping study and the online survey together provide quite comprehensive and thorough evidence for the narrative synthesis. In the narrative synthesis, we check whether there is any consistency or not in the evidence about specific patterns, and also to see how the claims and factors influence pattern reuse. Results: The mapping study found 20 primary studies, and the online survey had 206 usable responses. In the 20 primary study of the mapping study 17 design patterns were examined. In the online survey 175 respondents considered patterns were useful, and 155 respondents reported on patterns that they considered not to be useful. Conclusion: From the synthesis results, the specific patterns Composite and Observer are evaluated as being generally useful, but the Visitor and Singleton patterns, while useful, have possible negative aspects. And also four of the claims and the effect of one factor are demonstrated to be generally true. But the others are either unsupported or have no effect

    Étude empirique sur l'utilisation des patrons JEE et leur impact sur la modifiabilitĂ© des applications JEE

    Get PDF
    Les patrons de conception dĂ©crivent des pratiques qui permettent la conception de logiciels de qualitĂ©. Beaucoup de patrons de conception fournissent des solutions qui visent Ă  promouvoir la maintenabilitĂ© des logiciels et, plus prĂ©cisĂ©ment, la modifiabilitĂ© en facilitant la mise en oeuvre de futurs changements du logiciel, ce qui rĂ©duit considĂ©rablement les coĂ»ts de la maintenance. Plusieurs travaux visent Ă  supporter l’utilisation des patrons de conception ou Ă  identifier des occurrences de ces patrons dans des systĂšmes existants. Cependant, peu d’études empiriques Ă©valuent l’impact des patrons JEE sur la modifiabilitĂ© des applications. Dans ce mĂ©moire, nous prĂ©sentons une Ă©tude empirique sur l'utilisation des patrons JEE et leur impact sur la modifiabilitĂ© des applications JEE. Nous avons analysĂ© 17 applications JEE libres pour identifier les patrons JEE qui sont utilisĂ©s et qui supportent la modifiabilitĂ©. Puis, nous avons Ă©valuĂ© leur impact sur la modifiabilitĂ© de ces applications en Ă©tudiant les corrĂ©lations possibles entre l'utilisation de ces patrons et un ensemble de mĂ©triques liĂ©es Ă  la modifiabilitĂ©. De plus, nous avons analysĂ© diffĂ©rentes versions de trois de ces applications JEE afin d'Ă©valuer l'Ă©volution de la distribution des patrons appliquĂ©s et aussi l'impact de cette Ă©volution sur la modifiabilitĂ© de ces applications. Afin de combler le manque d’outils qui permettent de dĂ©tecter les patrons JEE, nous avons adaptĂ© l’outil Ptidej et nous avons dĂ©veloppĂ© un parseur basĂ© sur l’arbre syntaxique du code source analysĂ©. Une analyse manuelle des applications est effectuĂ©e pour valider les occurrences des patrons identifiĂ©s. Les rĂ©sultats de notre Ă©tude confirment qu’un bon nombre de patrons JEE supportant la modifiabilitĂ© sont utilisĂ©s dans les applications JEE. Ces patrons sont gĂ©nĂ©ralement ceux qui reflĂštent les bonnes pratiques d’une architecture en couches. Nous avons aussi constatĂ© qu’il y a trĂšs peu de corrĂ©lations entre l’utilisation de ces patrons et la modifiabilitĂ© des applications. Les quelques corrĂ©lations observĂ©s suggĂšrent que l’application de certains patrons complexifient l’application. Cependant, notre analyse manuelle des applications JEE Ă©tudiĂ©es a permis de constater que l’utilisation de ces patrons facilite la comprĂ©hension du code et la dĂ©limitation des couches de l’architecture de ces applications

    MODULARITY AND FUNCTIONAL CORRECTNESS EVALUATION OF DESIGN PATTERNS

    Get PDF

    On the Influence of Representation Type and Gender on Recognition Tasks of Program Comprehension

    Get PDF
    RÉSUMÉ L’objectif de la maintenance logicielle est d’amĂ©liorer les logiciels existants en prĂ©servant leur intĂ©gritĂ©. La maintenance peut reprĂ©senter jusqu’à 60% du budget d’un logiciel. Ainsi, amĂ©liorer la maintenabilitĂ© des logiciels est bĂ©nĂ©fique aussi bien pour les fournisseurs que les utilisateurs de logiciels. Les dĂ©veloppeurs de logiciels consacrent un effort considĂ©rable Ă  la comprĂ©hension des programmes, qui est une Ă©tape primordiale Ă  la maintenance logicielle. Nous faisons l’hypothĂšque que le genre des dĂ©veloppeurs de logiciels et le type de reprĂ©sentation peut affecter leur effort et leur efficacitĂ©. Ces facteurs doivent ĂȘtre considĂ©rĂ©s et minutieusement analysĂ©s dans la mesure oĂč ils peuvent cacher certains effets significatifs pouvant ĂȘtre identifiĂ©s en analysant le processus de comprĂ©hension. Dans cette thĂšse, nous nous inspirons de l’utilisation de l’occulomĂštre pour l’étude du processus cognitif lors de la rĂ©solution des problĂšmes. Nous avons effectuĂ© une Ă©tude fonctionnelle pour Ă©valuer tous les travaux de recherche faisant usage de l’occulomĂštre en gĂ©nie logiciel. Les rĂ©sultats obtenus nous ont motivĂ© Ă  utiliser l’occulomĂštre pour effectuer un ensemble d’études afin analyser l’effet de deux facteurs importants sur la comprĂ©hension des programmes : le type de reprĂ©sentation (textuelle ou graphique) et le genre du dĂ©veloppeur. Afin de comprendre comment les diffĂ©rents types de reprĂ©sentations et le genre influencent les stratĂ©gies de visualisation, nous avons Ă©tudiĂ© la diffĂ©rence de stratĂ©gie entre dĂ©veloppeurs. Les rĂ©sultats obtenus montrent que, comparĂ© Ă  une reprĂ©sentation graphique, la reprĂ©sentation sous forme de texte structurĂ© aide mieux le dĂ©veloppeur dans son processus cognitif lors de la comprĂ©hension des programmes de petite taille. Ainsi, la reprĂ©sentation textuelle requiert moins de temps et d’effort aux participants. Par contre, la reprĂ©sentation graphique est celle prĂ©fĂ©rĂ©e par les dĂ©veloppeurs. Nos rĂ©sultats montrent que la structure topologique de la reprĂ©sentation graphique aide les dĂ©veloppeurs Ă  mĂ©moriser l’emplacement des Ă©lĂ©ments et Ă  retrouver plus rapidement les Ă©lĂ©ments pertinents comparĂ© Ă  la reprĂ©sentation textuelle. En plus, la structure hiĂ©rarchique de la reprĂ©sentation graphique guide les dĂ©veloppeurs Ă  suivre une stratĂ©gie de visualisation spĂ©cifique. Nous avons observĂ© que les femmes et les hommes ont des stratĂ©gies de visualisation diffĂ©rentes lors de la lecture du code ou de la mĂ©morisation des noms des identificateurs. Les femmes ont tendance Ă  inspecter minutieusement toutes les options afin de procĂ©der Ă  l’élimination de la mauvaise rĂ©ponse. Au contraire, les hommes ont tendance Ă  inspecter briĂšvement certaines rĂ©ponses. Pendant que les femmes consacrent plus de temps Ă  analyser chaque type d’entitĂ© l’un aprĂšs l’autre, les hommes alternent leur attention entre diffĂ©rents type d’entitĂ©.----------ABSTRACT The purpose of software maintenance is to correct and enhance an existing software system while preserving its integrity. Software maintenance can cost more than 60% of the budget of a software system, thus improving the maintainability of software is important for both the software industry and its customers. Program comprehension is the initial step of software maintenance that requires the major amount of maintenance’s time and effort. We conjuncture that developers’ gender and the type of representations that developers utilize to perform program comprehension impact their efficiency and effectiveness. These factors must be considered and carefully studied, because they may hide some significant effects to be found by analyzing the comprehension process. In this dissertation, inspired by the literature on the usefulness of eye-trackers to study the cognitive process involved in problem solving activities, we perform a mapping study and evaluate all research relevant to the use of eye-tracking technique in software engineering. The results motivate us to perform a set of eye-tracking studies to analyze the impact of two important factors on program comprehension: representation type (textual vs. graphical) and developers’ gender. Moreover, we investigate and compare viewing strategies variability amongst developers to understand how the representation type and gender differences influence viewing strategies. Overall, our results indicate that structured text provides more cognitive support for developers while performing program comprehension with small systems compared to a graphical representation. Developers spend less time and effort working with textual representations. However, developers mostly preferred to use graphical representations and our results confirm that the topological structure of graphical representations helps developers to memorize the location of the elements and to find the relevant ones faster in comparison with textual representation. Moreover, the hierarchical structure of the representation guides developers to follow specific viewing strategies while working with representations. Regarding the impact of gender, our results emphasize that male and female developers exploit different viewing strategies while reading source code or recalling the names of identifiers. Female developers seem to carefully weigh all options and rule out wrong answers, while male developers seem to quickly set their minds on some answers and move forward. Moreover, female developers spend more time on each source code entity and analyze it before going to the next one. In contrast, male developers utilize several attention switching strategies between different source code entities

    Incremental Model-to-Text Transformation

    Get PDF
    Model-driven engineering (MDE) promotes the use of abstractions to simplify the development of complex software systems. Through several model management tasks (e.g., model verification, re-factoring, model transformation), many software development tasks can be automated. For example, model-to-text transformations (M2T) are used to realize textual development artefacts (e.g., documentation, configuration scripts, code, etc.) from underlying source models. Despite the importance of M2T transformation, contemporary M2T languages lack support for developing transformations that scale. As MDE is applied to systems of increasing size and complexity, a lack of scalable M2T transformations and other model management tasks hinders industrial adoption. This is largely due to the fact that model management tools do not support efficient propagation of changes from models to other development artefacts. As such, the re-synchronisation of generated textual artefacts with underlying system models can take considerably large amount of time to execute due to redundant re-computations. This thesis investigates scalability in the context of M2T transformation, and proposes two novel techniques that enable efficient incremental change propagation from models to generated textual artefacts. In contrast to existing incremental M2T transformation technique, which relies on model differencing, our techniques employ fundamentally different approaches to incremental change propagation: they use a form of runtime analysis that identifies the impact of source model changes on generated textual artefacts. The structures produced by this runtime analysis, are used to perform efficient incremental transformations (scalable transformations). This claim is supported by the results of empirical evaluation which shows that the techniques proposed in this thesis can be used to attain an average reduction of 60% in transformation execution time compared to non-incremental (batch) transformation
    corecore