Titus Barik

ORCID: 0000-0002-4877-0739
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Software Engineering Research
  • Software Engineering Techniques and Practices
  • Scientific Computing and Data Management
  • Software System Performance and Reliability
  • Advanced Software Engineering Methodologies
  • Open Source Software Innovations
  • Advanced Malware Detection Techniques
  • Software Testing and Debugging Techniques
  • Online Learning and Analytics
  • Spreadsheets and End-User Computing
  • Teaching and Learning Programming
  • Web Data Mining and Analysis
  • Data Visualization and Analytics
  • Multimedia Communication and Technology
  • Educational Games and Gamification
  • Innovative Teaching and Learning Methods
  • Knowledge Management and Sharing
  • Visual and Cognitive Learning Processes
  • Innovative Human-Technology Interaction
  • Speech and dialogue systems
  • Digital Games and Media
  • Parallel Computing and Optimization Techniques
  • Information and Cyber Security
  • Logic, programming, and type systems
  • Green IT and Sustainability

Apple (United Kingdom)
2024

Apple (United States)
2024

Microsoft (United States)
2018-2022

North Carolina State University
2007-2021

Microsoft Research (United Kingdom)
2020

AbbVie (United States)
2015

Data analysts use computational notebooks to write code for analyzing and visualizing data. Notebooks help iteratively analysis by letting them interleave with output, selectively execute cells. However, as progresses, leave behind old outputs, overwrite important code, producing cluttered inconsistent notebooks. This paper introduces gathering tools, extensions that find, clean, recover, compare versions of in cluttered, The tools archive all allowing review these recover the subsets...

10.1145/3290605.3300500 article EN 2019-04-29

Computational notebooks - such as Azure, Databricks, and Jupyter are a popular, interactive paradigm for data scientists to author code, analyze data, interleave visualizations, all within single document. Nevertheless, incorporate more of their activities into notebooks, they encounter unexpected difficulties, or pain points, that impact productivity disrupt workflow. Through systematic, mixed-methods study using semi-structured interviews (n=20) survey (n=156) with scientists, we catalog...

10.1145/3313831.3376729 article EN 2020-04-21

Data wrangling is a difficult and time-consuming activity in computational notebooks, existing tools do not fit the exploratory workflow for data scientists these environments. We propose unified interaction model based on programming-by-example that generates readable code variety of useful transformations, implemented as Jupyter notebook extension called Wrex. User study results demonstrate are significantly more effective efficient at with Wrex over manual programming. Qualitative...

10.1145/3313831.3376442 article EN 2020-04-21

In integrated development environments, developers receive compiler error messages through a variety of textual and visual mechanisms, such as popups wavy red underlines. Although are the primary means communicating defects to developers, researchers have limited understanding on how actually use these resolve defects. To understand messages, we conducted an eye tracking study with 56 participants from undergraduate graduate software engineering courses at our university. The attempted...

10.1109/icse.2017.59 article EN 2017-05-01

Large software organizations are transitioning to event data platforms as they culturally shift better support data-driven decision making. This paper offers a case study at Microsoft during such transition. Through qualitative interviews of 28 participants, and quantitative survey 1,823 respondents, we catalog diverse set activities that leverage sources, identify challenges in conducting these activities, describe tensions emerge cultures flow through within the organization. We find use...

10.1145/2889160.2889231 article EN 2016-05-14

Computational notebooks, which seamlessly interleave code with results, have become a popular tool for data scientists due to the iterative nature of exploratory tasks. However, notebooks provide single execution state users manipulate through creating and manipulating variables. When exploring alternatives, must carefully create many-step manipulations in visually distant cells.

10.1145/3411764.3445527 article EN 2021-05-06

Technical interviews-a problem-solving form of interview in which candidates write code-are commonplace the software industry, and are used by several well-known companies including Facebook, Google, Microsoft. These interviews intended to objectively assess determine fit within company. But what do developers say about them?To understand developer perceptions technical interviews, we conducted a qualitative study using online social news website, Hacker News-a venue for practitioners. News...

10.1109/vlhcc.2019.8818836 article EN 2019-09-19

Once a programmer knows one language, they can leverage concepts and knowledge already learned, easily pick up another programming language. But is that always the case? To understand if programmers have difficulty learning additional languages, we conductedan empirical study of Stack Overflow questions across 18 different languages. We hypothesized previous could potentially interfere with new From our inspection 450 questions, found 276 instances interference occurred due to faulty...

10.1145/3377811.3380352 article EN 2020-06-27

Compilers primarily give feedback about problems to developers through the use of error messages. Unfortunately, routinely find these messages be confusing and unhelpful. In this paper, we postulate that because present poor explanations, theories explanation---such as Toulmin's model argument---can applied improve their quality. To understand how compilers should explanations developers, conducted a comparative evaluation with 68 professional software an empirical study compiler found in...

10.1145/3236024.3236040 article EN 2018-10-26

Spreadsheets are perhaps the most ubiquitous form of end-user programming software. This paper describes a corpus, called Fuse, containing 2,127,284 URLs that return spreadsheets (and their HTTP server responses), and 249,376 unique spreadsheets, contained within public web archive over 26.83 billion pages. Obtained using nearly 60,000 hours computation, resulting corpus exhibits several useful properties prior spreadsheet corpora, including reproducibility extendability. Our is unencumbered...

10.1109/msr.2015.70 article EN 2015-05-01

Software engineer job candidates are not succeeding at technical interviews. Although able to answer questions, there is a mismatch of what think interviewers assess versus criteria used in practice. This expectations can cost opportunity. To determine value, we conducted mock interviews with software university and collected evaluations from interviewers. We analyzed 70 interview 9 companies. Using grounded theory approach, compared interviewer interpretations including: performing problem...

10.1109/chase.2017.8 article EN 2017-05-01

Software engineering candidates commonly participate in whiteboard technical interviews as part of a hiring assessment. During these sessions, write code while thinking aloud they work towards solution, under the watchful eye an interviewer. While should allow for unbiased and inclusive assessment problem-solving ability, surprisingly, may be instead procedure identifying who best handle migrate stress solely caused by being examined interviewer (performance anxiety).

10.1145/3368089.3409712 article EN 2020-11-08

End-user programmers opportunistically copy-and-paste code snippets from colleagues or the web to accomplish their tasks. Unfortunately, these often don't work verbatim, so people—who are non-specialists in programming language—make guesses and tweak understand apply it successfully. To support desired workflow facilitate tweaking understanding, we built a prototype tool, TweakIt, that provides users with familiar live interaction help them understand, introspect, reify how different would...

10.1145/3411764.3445265 article EN 2021-05-06

Spreadsheets are perhaps the most ubiquitous form of end-user programming software. This paper describes a corpus, called Fuse, containing 2,127,284 URLs that return spreadsheets (and their HTTP server responses), and 249,376 unique spreadsheets, contained within public web archive over 26.83 billion pages. Obtained using nearly 60,000 hours computation, resulting corpus exhibits several useful properties prior spreadsheet corpora, including reproducibility extendability. Our is unencumbered...

10.5555/2820518.2820594 article EN Mining Software Repositories 2015-05-16

Quick Fixes as implemented by IDEs today prioritize the speed of applying fix a primary criteria for success. In this paper, we argue that when tools over-optimize criteria, such neglect other dimensions are important to successfully fix, being able explore design space multiple fixes. This is especially true in cases where only partially implements intention developer. implement an extension FindBugs defect finding tool, called FixBugs, interactive resolution approach within Eclipse...

10.1109/icsme.2016.63 article EN 2016-10-01

Programming environments and game share many of the same characteristics, such as requiring their users to understand strategies solve difficult challenges. Yet, only designers have been able capitalize on methods that are consistently keep engaged. Consequently, software engineers increasingly interested in understanding how these experiences can be transferred programming experiences, a process termed gamification. In this perspective paper, we offer formal argument gamification applied...

10.1109/vlhcc.2016.7739676 article EN 2016-09-01

Code analyzers such as Error Prone and FindBugs detect code patterns symptomatic of bugs, performance issues, or bad style. These tools express quick fixes that rewrite unwanted code. However, it is difficult to come up with new decide which ones are useful frequently appear in real We propose rely on the collective wisdom programmers learn from revision histories software repositories. present Revisar, a tool for discovering common Java edit Given repositories their histories, Revisar (i)...

10.1145/3474624.3474650 article EN Brazilian Symposium on Software Engineering 2021-09-27

Error notifications and their resolutions, as presented by modern IDEs, are still cryptic confusing to developers. We propose an interaction-first approach help developers more effectively comprehend resolve compiler error through a conceptual interaction framework. novel taxonomies that can serve controlled vocabularies for resolutions. use preliminary demonstrate, prototype IDE, how the make resolutions consistent unified.

10.1145/2591062.2591124 article EN 2014-05-20

The typical hiring pipeline for software engineering occurs over several stages---from phone screening and technical on-site interviews, to offer negotiation. When these pipelines are leaky, otherwise qualified candidates lost at some stage of the pipeline. These leaky impact companies in ways, including hindering a company's ability recruit competitive build diverse teams.To understand where become disengaged pipeline---and what can do prevent it---we conducted qualitative study on 10,000...

10.1145/3377815.3381372 article EN International Conference on Software Engineering 2020-06-27

Expertise in programming traditionally assumes a binary novice-expert divide. Learning resources typically target programmers who are learning for the first time, or expert that language. An underrepresented, yet important group of those experienced one language, but desire to author code different For this scenario, we postulate an effective form feedback is presented as transfer from concepts language second. Current environments do not support feedback. In study, apply theory teach less...

10.1109/vlhcc.2018.8506508 article EN 2018-10-01

We report on the experience of teaching an industry-validated course Artificial Intelligence in Computer Games within Simulation and Game Design department at a two-year community college during 16-week semester. The format used blended learning just-in-time approach, which included active programming exercises one-on-one student interactions. Moskal's Attitudes Toward Science survey showed positive significant increase students both interest (W(10) = 25, p 0.011) professional 49.5, 0.037)...

10.1109/fie.2013.6685093 article EN 2021 IEEE Frontiers in Education Conference (FIE) 2013-10-01

Code analyzers such as Error Prone and FindBugs detect code patterns symptomatic of bugs, performance issues, or bad style. These tools express quick fixes that rewrite unwanted code. However, it is difficult to come up with new decide which ones are useful frequently appear in real We propose rely on the collective wisdom programmers learn from revision histories software repositories. present REVISAR, a tool for discovering common Java edit Given repositories their histories, REVISAR (i)...

10.48550/arxiv.1803.03806 preprint EN other-oa arXiv (Cornell University) 2018-01-01

Grounded theory is an important research method in empirical software engineering, but it also time consuming, tedious, and complex. This makes difficult for researchers to assess if threats, such as missing themes or sample bias, have inadvertently materialized. To better our new idea that we can automatically extract knowledge from social news websites, Hacker News, easily replicate existing grounded --- then compare the results. We conduct a replication study on static analysis tool...

10.1145/2786805.2803200 article EN 2015-08-26
Coming Soon ...