1,272 research outputs found

    Understanding Eye Gaze Patterns in Code Comprehension

    Get PDF
    Program comprehension is a sub-field of software engineering that seeks to understand how developers understand programs. Comprehension acts as a starting point for many software engineering tasks such as bug fixing, refactoring, and feature creation. The dissertation presents a series of empirical studies to understand how developers comprehend software in realistic settings. The unique aspect of this work is the use of eye tracking equipment to gather fine-grained detailed information of what developers look at in software artifacts while they perform realistic tasks in an environment familiar to them, namely a context including both the Integrated Development Environment (Eclipse or Visual Studio) and a web browser (Google Chrome). The iTrace eye tracking infrastructure is used for certain eye tracking studies on large code files as it is able to handle page scrolling and context switching. The first study is a classroom-based study on how students actively trained in the classroom understand grouped units of C++ code. Results indicate students made many transitions between lines that were closer together, and were attracted the most to if statements and to a lesser extent assignment code. The second study seeks to understand how developers use Stack Overflow page elements to build summaries of open source project code. Results indicate participants focused more heavily on question and answer text, and the embedded code, more than they did the title, question tags, or votes. The third study presents a larger code summarization study using different information contexts: Stack Overflow, bug repositories and source code. Results show participants tended to visit up to two codebase files in either the combined or isolated codebase session, but visit more bug report pages, and spend longer time on new Stack Overflow pages they visited, when given either these two treatments in isolation. In the combined session, time spent on the one or two codebase files they viewed dominated the session time. Information learned from tracking developers\u27 gaze in these studies can form foundations for developer behavior models, which we hope can later inform recommendations for actions one might take to achieve workflow goals in these settings. Advisor: Bonita Shari

    Correlates of programmer efficacy and their link to experience: a combined EEG and eye-tracking study

    Get PDF
    Background: Despite similar education and background, programmers can exhibit vast differences in efficacy. While research has identified some potential factors, such as programming experience and domain knowledge, the effect of these factors on programmers’ efficacy is not well understood. Aims: We aim at unraveling the relationship between efficacy (speed and correctness) and measures of programming experience. We further investigate the correlates of programmer efficacy in terms of reading behavior and cognitive load. Method: For this purpose, we conducted a controlled experiment with 37 participants using electroencephalography (EEG) and eye tracking. We asked participants to comprehend up to 32 Java sourcecode snippets and observed their eye gaze and neural correlates of cognitive load. We analyzed the correlation of participants’ efficacy with popular programming experience measures. Results: We found that programmers with high efficacy read source code more targeted and with lower cognitive load. Commonly used experience levels do not predict programmer efficacy well, but selfestimation and indicators of learning eagerness are fairly accurate. Implications: The identified correlates of programmer efficacy can be used for future research and practice (e.g., hiring). Future research should also consider efficacy as a group sampling method, rather than using simple experience measures

    AN EYE TRACKING REPLICATION STUDY OF A RANDOMIZED CONTROLLED TRIAL ON THE EFFECTS OF EMBEDDED COMPUTER LANGUAGE SWITCHING

    Get PDF
    The use of multiple programming languages (polyglot programming) during software development is common practice in modern software development. However, not much is known about how the use of these different languages affects developer productivity. The study presented in this thesis replicates a randomized controlled trial that investigates the use of multiple languages in the context of database programming tasks. Participants in our study were given coding tasks written in Java and one of three SQL-like embedded languages: plain SQL in strings, Java methods only, a hybrid embedded language that was more similar to Java. In addition to recording the online questionnaire responses and the participants\u27 solutions to the tasks, the participants\u27 eye movements were also recorded using an eye tracker. Eye tracking as a method for software development studies has grown in recent years and allows for finer-grain information about how developers complete programming tasks. Eye tracking data was collected from 31 participants (from both academia and industry) for each of the six programming tasks they completed. Unlike the original study, we were unable to find a significant effect on productivity due to the language used or whether they were a native English speaker. However, we did find the same effect of participant experience on programming productivity which indicates that more experienced programmers are able to complete polyglot programming tasks in a more efficient manner. We also found that all participants looked at the sample code the same percentage of the time for a given task regardless of their experience or language variant they were given. The top level navigation behavior also remained largely unchanged across experience or language variants. We found that professionals performed more transitions in the code between the Java code and method parameters than their novice counterparts. Overall, we found that the level of polyglot programming did not have as significant of an effect as the task itself. The high-level strategy that participants employed appeared similar regardless of language variant they were given. Adviser: Bonita Shari

    Rapid Brain Responses to Familiar vs. Unfamiliar Music – an EEG and Pupillometry study

    Get PDF
    Human listeners exhibit marked sensitivity to familiar music, perhaps most readily revealed by popular “name that tune” games, in which listeners often succeed in recognizing a familiar song based on extremely brief presentation. In this work, we used electroencephalography (EEG) and pupillometry to reveal the temporal signatures of the brain processes that allow differentiation between a familiar, well liked, and unfamiliar piece of music. In contrast to previous work, which has quantified gradual changes in pupil diameter (the so-called “pupil dilation response”), here we focus on the occurrence of pupil dilation events. This approach is substantially more sensitive in the temporal domain and allowed us to tap early activity with the putative salience network. Participants (N = 10) passively listened to snippets (750 ms) of a familiar, personally relevant and, an acoustically matched, unfamiliar song, presented in random order. A group of control participants (N = 12), who were unfamiliar with all of the songs, was also tested. We reveal a rapid differentiation between snippets from familiar and unfamiliar songs: Pupil responses showed greater dilation rate to familiar music from 100–300 ms post-stimulus-onset, consistent with a faster activation of the autonomic salience network. Brain responses measured with EEG showed a later differentiation between familiar and unfamiliar music from 350 ms post onset. Remarkably, the cluster pattern identified in the EEG response is very similar to that commonly found in the classic old/new memory retrieval paradigms, suggesting that the recognition of brief, randomly presented, music snippets, draws on similar processes

    What Geoscience Experts And Novices Look At, And What They See, When Viewing Data Visualizations

    Get PDF
    This study examines how geoscience experts and novices make meaning from an iconic type of data visualization: shaded relief images of bathymetry and topography.  Participants examined, described, and interpreted a global image, two high-resolution seafloor images, and 2 high-resolution continental images, while having their gaze direction eye-tracked and their utterances and gestures videoed. In addition, experts were asked about how they would coach an undergraduate intern on how to interpret this data.  Not unexpectedly, all experts were more skillful than any of the novices at describing and explaining what they were seeing.  However, the novices showed a wide range of performance.  Along the continuum from weakest novice to strongest expert, proficiency developed in the following order: making qualitative observations of salient features, making simple interpretations, making quantitative observations.  The eye-tracking analysis examined how the experts and novices invested 20 seconds of unguided exploration, after the image came into view but before the researcher began to ask questions.  On the cartographic elements of the images, experts and novices allocated their exploration time differently:  experts invested proportionately more fixations on the latitude and longitude axes, while students paid more attention to the color bar.  In contrast, within the parts of the image showing the actual geomorphological data, experts and novices on average allocated their attention similarly, attending preferentially to the geologically significant landforms.   Combining their spoken responses with their eye-tracking behavior, we conclude that the experts and novices are looking in the same places but “seeing” different things

    Determining indicators of deception in computer mediated communication using eye tracking

    Get PDF
    This work combines two studies, both identifying indicators of deception through the analysis of the visual attention of a veracity judge. using eye tracking. In the first study, we investigated the effect of the varying media modes on detection accuracy through the analysis of the visual behavior of veracity judges. We employed eye tracking technology to understand where the judges looked at and what impact their visual foci had on their detection performance. We found that the visual foci of the judges varied as a result of the message veracity and media modes. Judges fixated longer and more frequently on the mouth and the torso of the communicators in deceptive messages. In video-only modes, the judges fixated longer on the mouth of the sender. Fixation frequency on the eyes and the mouth of the sender worsened deception detection accuracy. In the second study, we investigated the reading behavior of veracity judges when presented with honest and deceptive statements produced in high-stake, real-life scenarios with potential negative consequences for the individuals who produced those statements. We found that the reading metrics of veracity judges varies across honest and dishonest statements and the linguistic cues that the judges focus on have an effect on deception detection performance

    Expectation incongruence in music and code reading: The eye-tracking approach

    Get PDF
    Humans create and use different kinds of languages in order to store, view, and convey various types of information. Natural languages, such as English, allow people to communicate with each other in everyday and professional contexts. In contrast, symbolic languages, such as Western music notation or programming languages, enable people to make use of technical devices like musical instruments or computers. Research on the eye movements of expert musicians and programmers has revealed certain similarities in how these symbolic languages are read: unlike text reading, experts read music and code with more regressive eye movements. The current dissertation is the first project that explores music and code reading together. It focuses on one of the aspects of music and code reading that is equally important for both symbolic languages—the skill of working with unexpected information from a notation. In music and programming, this skill is especially required in tasks such as handling surprising melodic patterns and debugging, respectively. This dissertation had three main aims: (1) theoretical exploration of similarities and differences in creating expectations that help with pattern recognition in music and programming; (2) development (in music reading) and creation (in code reading) of research methodologies that can be applied in research on incongruent patterns; and (3) exploration of the cognitive processing of incongruent notation in experienced music readers and one experienced code reader. Surprising elements in familiar patterns hamper their recognition. Article I presents a theoretical exploration of the similarities and differences in building expectations that allow pattern recognition in music and programming. The proposed prediction model, which serves as the solution to Aim 1, includes three components that are common for both music and programming: (1) knowledge of language systems, (2) knowledge of meaning, and (3) knowledge of context. In addition, it also contains two components that differ for music and programming: (4) translation of information and (5) temporal and motor requirements. Experiments presented in this dissertation can be considered to be the first steps toward looking at certain components of the proposed prediction model in detail when prediction works normally (congruent notation) and when prediction is violated (incongruent notation). In order to study the reading of surprising incongruent patterns in music and code, special experimental settings, which provide the solution to Aim 2, were developed for music reading and created for code reading. Hence, the selected setup for the music reading study was based on a prior study (Penttinen et al., 2015), where incongruences were introduced in the “Mary Had a Little Lamb” melody and all music performances were temporarily controlled using a metronome. Experiment 1 developed this set-up by inserting incongruent notes into two different tonalities and by asking participants to play on a piano or sing from the notation. Thus, the music reading experiment focused on the first, second, fourth, and fifth components of the proposed model in music reading. It explored how the meaning of congruent and incongruent musical symbols is processed by experienced music readers. In addition, it also explored the translation of music information into two different performance ways (singing and playing piano) that have different motor requirements. Combining three different eye movement parameters allowed the researcher to describe different aspects of the cognitive processing of incongruent music reading—the temporal aspect, with the help of the eye-time span parameter (ETS), the cognitive effort aspect with the help of the mean pupil size parameter measured only in first-pass fixations, and the attention aspect with the help of the first-pass fixation duration. Experiment 2 on code reading was carefully designed on the basis of the music reading study. Consequently, incongruences were introduced in different parts of the familiar notation. The Bubble sort algorithm—a well-known sorting algorithm—was chosen as an analogue of the “Mary Had a Little Lamb” melody in programming. As in the music reading study, all code reading performances were temporarily controlled. The case code study provided some insights into the first and second components of the proposed model in programming by investigating how an experienced programmer reads sorting algorithms with and without surprising patterns. It particularly focuses on the phenomenon of an experienced reader overlooking the surprising pattern, which is considered to be the original one instead so-called proof-readers’ error. In addition, this study explored the issue of the unit of code reading analysis by comparing two different options: lines and elements. The study introduced saccade velocity as a parameter of cognitive effort for the incongruent code reading analysis. Research findings from these experimental studies provided the solution to Aim 3 and revealed that—in both music and code reading—incongruent patterns in the notation led to changes in fixation and cognitive effort parameters (pupil size and saccadic velocity). In contrast to code reading, strict temporal requirements for the processing of incongruence exist in music reading. The application of the eye-time span (ETS) parameter that describes the distance between the performer’s gaze and musical time, allowed the researcher to investigate the temporal aspect of incongruence processing in the music reading experiment. Hence, experienced readers had longer ETS when they approached the incongruent part of the notation and shorter ETS when they were in the process of struggling with the incongruent part. In addition to incongruent reading, the difference in the performance mode of the same music task associated with the translation of information and motor requirements was studied in the music reading experiment by comparing singing and playing from music scores. Despite the fact that the participants played incongruent melodies better than they sang them, the analysis of eye movement parameters allowed the researcher to discover that singing might be less cognitively demanding than playing. These findings are discussed within the proposed theoretical model of prediction and associated expertise theories.Odotusten vastaisten symbolien lukeminen: katseenseurantatutkimus nuotin- ja koodinluvusta Ihmiset luovat ja käyttävät erilaisia kieliä tallentaakseen, tarkastellakseen ja välittääkseen informaatiota. Luonnolliset kielet, kuten englanti, mahdollistavat ihmisten välisen kommunikaation arkisissa ja ammatillisissa tilanteissa. Sen sijaan symboliset kielet, kuten länsimainen nuottikirjoitus tai ohjelmointikielet, mahdollistavat erilaisten laitteiden, kuten soittimien tai tietokoneiden, operoinnin. Taitavien muusikkojen ja koodinlukijoiden silmänliikkeiden tutkimus on paljastanut joitakin samankaltaisuuksia siitä, miten näitä kahta symbolikieltä luetaan: toisin kuin tekstin lukemisessa, taitavat nuotin- ja koodinlukijat tekevät enemmän regressiivisiä, eli taaksepäin suuntautuvia silmänliikkeitä. Tämä väitöstutkimus on ensimmäinen tutkimushanke, jossa tarkastellaan nuotin- ja koodinlukua rinnakkain. Tutkimus keskittyy tiettyyn, molemmissa symbolikielissä tärkeään piirteeseen, eli taitoon selvitä lukemisen aikana notaatiossa havaittuun yllättävään informaatioon. Sekä musiikin että ohjelmoinnin aloilla tätä taitoa tarvitaan silloin, kun lukijan täytyy käsitellä yllättäviä melodisia kuvioita musiikkikappaletta lukiessaan tai etsiä virheitä koodista. Tällä väitöstutkimuksella oli kolme päätavoitetta: (1) teoreettinen pohdinta nuotin- ja koodinluvun yhtäläisyyksistä ja eroavaisuuksista ja erityisesti siitä, miten taitavat lukijat muodostavat ennakko-oletuksia lukemastaan symbolien tunnistamisen helpottamiseksi; (2) menetelmien kehittäminen (nuotinluvussa) ja luominen (koodinluvussa) inkongruenttien, eli epäyhdenmukaisten, kuvioiden lukemisen tutkimukseen; ja (3) taitavien nuotinlukijoiden ja yhden taitavan koodinlukijan kognitiivisen prosessoinnin tutkiminen silloin, kun lukijat käsittelevät inkongruenttia informaatiota. Yllättävät elementit tutussa visuaalisessa materiaalissa vaikeuttavat kyseessä olevan materiaalin prosessointia. Artikkelissa I pohditaan nuotin- ja koodinluvun teoreettisia eroja ja eroavaisuuksista ja sitä, miten taitavat lukijat muodostavat ennakko-oletuksia lukiessaan. Ehdotettu ennustusmalli, jonka avulla vastataan päätavoitteeseen 1, sisältää kolme molemmille symbolikielille yhteistä komponenttia: (1) tiedon kielijärjestelmästä, (2) tiedon merkityksestä ja (3) tiedon kontekstista. Tämän lisäksi malli sisältää kaksi komponenttia, joissa nuotin- ja koodinluku eroavat toisistaan: (4) informaation kääntäminen laitteelle ja (5) temporaaliset ja motoriset vaatimukset. Tässä väitöstutkimuksessa esiteltävät empiiriset osahankkeet olivat ensiaskelia ennustusmallin komponenttien tutkimuksessa. Kahdessa osahankkeessa tarkasteltiin yksityiskohtaisesti tilanteita, joissa ennakko-oletuksia voi hyödyntää tavalliseen tapaan (kongruentti notaatio) ja kun odotukset eivät toteudu (inkongruentti notaatio). Tässä väitöstutkimuksessa kehitettiin koeasetelmia nuotin- ja koodinluvun aikaisten, yllättävien ja inkongruenttien kuvioiden lukemisen tutkimusta varten (päätavoite 2). Nuotinlukuaiheinen koeasetelma pohjautui aikaisempaan tutkimukseen (Penttinen et al., 2015), jossa epäyhdenmukaisuuksia sijoitettiin tuttuun ”Maijall’ oli karitsa” –melodiaan ja soittosuoritusten ajoitusta kontrolloitiin metronomin avulla. Osatutkimus 1 kehitti tätä asetelmaa edelleen esittämällä tutun kappaleen osallistujille kahdessa eri sävellajissa ja pyytämällä osallistujia toteuttamaan melodia kahdella eri tavalla, soittaen ja laulaen. Osatutkimus 1 keskittyi siis ennustusmallin ensimmäiseen, toiseen, neljänteen ja viidenteen komponenttiin nuotinlukemisen näkökulmasta. Osatutkimuksessa 1 tutkittiin kuinka taitavat nuotinlukijat prosessoivat kongruenttien ja inkongruenttien nuottisymbolien merkityksiä. Tämän lisäksi osahanke selvitti sitä, miten nuottiinformaatio käännettiin kahdelle motorisilta vaatimuksiltaan erilaiselle ”soittimelle” (pianonsoitto ja laulaminen). Kognitiivisia prosesseja inkongruentin materiaalin lukemisen aikana kuvailtiin kolmen eri silmänliikemuuttujan turvin: lukuprosessin ajallista etenemistä selvitettiin eye-time span –mittarin (ETS) avulla, kognitiivista työmäärää mittaamalla pupillin koon vaihtelua, ja fiksaatioiden kestot kertoivat huomion kohdistumisesta notaation eri osiin ensilukemisen aikana. Koodinlukuun keskittyvä osatutkimus 2 suunniteltiin osatutkimuksen 1 koeasetelman pohjalta ja epäyhdenmukaisuudet sijoitettiin jälleen tuttuun notaatioon. Koodinlukukokeessa nuotinlukukokeen ”Maijall’ oli karitsa” –melodian tilalle valittiin hyvin tunnettu kuplalajittelualgoritmi, ja myös koodinlukutehtävässä kontrolloitiin ajankäyttöä. Tapaustutkimuksessa selvitettiin, miten kokenut ohjelmoija luki lajittelualgoritmia silloin kun siinä joko oli tai ei ollut inkongruentteja kohtia. Näin voitiin tarkastella ennustusmallin ensimmäistä ja toista komponenttia koodinlukemisen näkökulmasta. Tapaustutkimus keskittyi erityisesti tilanteeseen, jossa kokenut lukija ohitti yllättävät elementit notaatiossa ja tulkitsi inkongruentin algoritmin oikeaksi ja alkuperäiseksi (ns. proof-readers’ error). Tämän lisäksi osatutkimuksessa 2 testattiin koodinlukututkimuksiin sopivia analyysiyksiköitä vertaamalla kahta vaihtoehtoa, rivejä ja elementtejä, ja esiteltiin sakkadien nopeus kognitiivisen työmäärän tarkasteluun sopivana, koodinlukututkimuksille uutena mittarina. Osatutkimusten 1 ja 2 perusteella vastattiin päätavoitteeseen 3. Osatutkimuksissa selvisi, että sekä nuotin- että koodinlukutilanteissa inkongruentit kohdat notaatiossa johtivat muutoksiin fiksaatio- ja kognitiivisen työmäärän mittareissa (pupillin koko ja sakkadin nopeus). Toisin kuin koodinluvussa, tiukat temporaaliset rajoitteet säätelevät inkongruenssin prosessointia nuotinluvun aikana. Tästä syystä nuotinlukukokeessa hyödynnettiin ETS-mittaria, joka kertoo katseen kohdan ja musiikillisen ajan välisestä etäisyydestä. Taitavien nuotinlukijoiden ETS oli pidempi, kun he lukiessaan lähestyivät inkongruenttia kohtaa, ja lyhyempi, kun he soittivat tätä samaista kohtaa. Inkongruentin kohdan lukemisen lisäksi tutkittiin kahta erilaista esitystapaa (laulaminen ja soittaminen), sillä esitystapa liittyy nuotti-informaation kääntämiseen oikeiksi motoriksiksi liikkeiksi. Vaikka osallistujat soittivat inkongruentit melodiat paremmin kuin he lauloivat ne, silmänliikkeiden tarkastelu osoitti että laulaminen saattoi silti olla osallistujille kognitiivisesti vähemmän vaativaa kuin soittaminen. Näitä havaintoja pohditaan väitöskirjatutkimuksessa esitetyn ennustusmallin sekä asiantuntijuusteorioiden valossa

    Grand Challenges of Traceability: The Next Ten Years

    Full text link
    In 2007, the software and systems traceability community met at the first Natural Bridge symposium on the Grand Challenges of Traceability to establish and address research goals for achieving effective, trustworthy, and ubiquitous traceability. Ten years later, in 2017, the community came together to evaluate a decade of progress towards achieving these goals. These proceedings document some of that progress. They include a series of short position papers, representing current work in the community organized across four process axes of traceability practice. The sessions covered topics from Trace Strategizing, Trace Link Creation and Evolution, Trace Link Usage, real-world applications of Traceability, and Traceability Datasets and benchmarks. Two breakout groups focused on the importance of creating and sharing traceability datasets within the research community, and discussed challenges related to the adoption of tracing techniques in industrial practice. Members of the research community are engaged in many active, ongoing, and impactful research projects. Our hope is that ten years from now we will be able to look back at a productive decade of research and claim that we have achieved the overarching Grand Challenge of Traceability, which seeks for traceability to be always present, built into the engineering process, and for it to have "effectively disappeared without a trace". We hope that others will see the potential that traceability has for empowering software and systems engineers to develop higher-quality products at increasing levels of complexity and scale, and that they will join the active community of Software and Systems traceability researchers as we move forward into the next decade of research
    • …
    corecore