- Software Engineering Research
- AI in Service Interactions
- Software Engineering Techniques and Practices
- Usability and User Interface Design
- Topic Modeling
- Natural Language Processing Techniques
- Multi-Agent Systems and Negotiation
- Political Philosophy and Ethics
- Semantic Web and Ontologies
- Advanced Software Engineering Methodologies
- Speech and dialogue systems
- Web Data Mining and Analysis
- Complex Network Analysis Techniques
- Online and Blended Learning
- Big Data and Business Intelligence
- Business Process Modeling and Analysis
- Machine Learning and Data Classification
- Technology Adoption and User Behaviour
- Knowledge Management and Sharing
- Ethics and Social Impacts of AI
- Second Language Learning and Teaching
- EFL/ESL Teaching and Learning
- Open Source Software Innovations
- Mobile Crowdsensing and Crowdsourcing
- Software Testing and Debugging Techniques
IBM (United States)
2003-2015
Cambridge Scientific (United States)
2003-2014
City University of New York
2010
Large language models (LLMs) have recently been applied in software engineering to perform tasks such as translating code between programming languages, generating from natural language, and autocompleting it is being written. When used within development tools, these systems typically treat each model invocation independently all previous invocations, only a specific limited functionality exposed the user interface. This approach interaction misses an opportunity for users more deeply...
Generative models have become adept at producing artifacts such as images, videos, and prose human-like levels of proficiency. New generative techniques, unsupervised neural machine translation (NMT), recently been applied to the task generating source code, translating it from one programming language another. The produced in this way may contain imperfections, compilation or logical errors. We examine extent which software engineers would tolerate imperfections explore ways aid detection...
Generative machine learning models have recently been applied to source code, for use cases including translating code between programming languages, creating documentation from and auto-completing methods. Yet, state-of-the-art often produce that is erroneous or incomplete. In a controlled study with 32 software engineers, we examined whether such imperfect outputs are helpful in the context of Java-to-Python translation. When aided by translation model, participants produced fewer errors...
Collaboration is an integral part of software development, occurring through tools inside and outside the IDE. This paper presents overview Jazz project, which seeks to integrate collaborative capabilities into Eclipse IDE, enabling small teams developers work together more productively.
Software development is rarely a solo coding effort. More often, it collaborative process, with teams of developers working together to design solutions and produce quality code. The members these close-knit often look at one another’s code, collectively make plans about how proceed, even fix each other’s bugs when necessary. Teamwork does not stop there, however. An extended team may include project managers, testers, architects, designers, writers, other specialists, as well programming...
Conversational AI agents are commonly applied within single-user, turn-taking scenarios. The interaction mechanics of these scenarios trivial: when the user enters a message, agent produces response. However, dynamics more complex group settings. How should an behave in settings? We report on two experiments aimed at uncovering users' experiences agent's participation group, context ideation (brainstorming). In first study, participants benefited from and preferred having but disliked seemed...
We present contextual collaboration, an approach to building collaborative systems that embeds capabilities into core applications, and discuss its advantages. describe the Jazz application development environment we are using explore this concept design guidelines have emerged from our experience.
Analyzing network data can provide valuable insights in many diverse fields. However, designing node-link visualizations that effectively communicate the underlying is challenging, as for every there are potential unintelligible or even misleading layouts. Automated layout algorithms have helped, but frequently generate ineffective visualizations. In order to build awareness of effective visualization strategies, we detail new global readability metrics on a [0,1] continuous scale node-node...
Research on intelligent systems has emphasized the benefits of providing explanations along with recommendations. But can lead users to make incorrect decisions? We explored this question in a controlled experimental study 18 professional network security analysts doing an incident classification task using prototype cybersecurity system. The system provided three recommendations each trial. were displayed (called "justifications") or without. On half trials, one was correct; other none...
This paper presents a curated collection of fictional abstracts for papers that could appear in the proceedings 2039 CHI Conference. It provides an opportunity to consider various visions guiding work HCI, futures toward which we (believe we) are working, and how research field might relate with broader social, political, cultural changes over next quarter century.
Analysts engaged in real-time monitoring of cybersecurity incidents must quickly and accurately respond to alerts generated by intrusion detection systems. We investigated two complementary approaches improving analyst performance on this vigilance task: a graph-based visualization correlated IDS output defensible recommendations based machine learning from historical behavior. tested our approach with 18 professional analysts using prototype environment which we compared the conventional...
Contextual collaboration is a promising approach to embedding new collaborative features into existing applications. However, incorporating such may be too difficult for applications without extensible frameworks or complex legacy, custom, and mission-critical We present Aspect-Oriented Retrofitting as lightweight contextual in this class of applications, describe guidelines designing retrofitting aspects, walk through two examples.
Lean principles have been effective in reducing waste manufacturing organizations.These are now being applied software development processes.This paper describes lean thinking concepts and the process of applying technical coding at IMVU -a virtual worlds company.It also summarizes lessons learned implementation for processes.
The Programmer's Assistant is an experimental prototype software development environment that integrates a chatbot with code editor. Conversational capability was achieved by using existing code-fluent Large Language Model and providing it prompt establishes conversational interaction pattern, set of conventions, style appropriate for the application. A discussion evolution provides case study in how to coax foundation model behave desirable manner particular
This video demonstrates an experiment in crowdsourcing both map-based data and also the applications that provide maps, presents scenarios of use.
In this paper, we describe the user interface principles guiding design of a conversational agent capable speech enabling multiple applications, and provide sample its typical dialog.
This exploratory study examines the utilization of ad blocking software by 129 undergraduate business students.It finds that 63% students have tried blockers and 62% are currently using on their personal computers.It also found is similar for users both Microsoft Internet Explorer Mozilla Firefox browsers.The high has implications advertising revenue model supports many web sites services.
Mission critical applications and legacy systems may be difficult to revise rebuild, yet it is sometimes desirable retrofit their user interfaces with new collaborative features without modifying recompiling the original code. We describe use of Aspect-Oriented Programming as a lightweight technique accomplish this, present an example incorporating presence awareness deeply into application's interface, discuss implications this for developing CSCW software.
Automated tools for mediating incoming interruptions are necessary in order to balance the concentration required software development with need collaborate and absorb information. At present, there is no design knowledge building such programmers. The abundant literature on general problem of awareness does not address unique characteristics development, few studies which do restricted simplified tasks or environments. We attribute this scarcity difficulties conducting empirical real...
In this paper, we describe the user interface principles guiding design of a conversational agent capable speech enabling multiple applications, and provide sample its typical dialog.