In this lab, we consider human aspects in software engineering from different perspectives. We develop tools and techniques focusing on improving the usability of a software system. We help developers with frameworks, APIs and techniques so that they can build usable software systems. We also research on improving developers productivity while working on a legacy system. Research topics that we highlight in this lab software architecture design and evaluation for supporting various non-functional quality attributes (such as ease of use, collaboration, and provenance), software comprehension at architectural level, software analytics, big data analysis and visualization. We combine techniques from software engineering and HCI in our research methodology.
- Consistency Handling in Collaborative Scientiﬁc Workﬂow: One of the main challenges of scientific collaborative system is consistency management – in the face of conﬂicting concurrent operations by the collaborators. The existing research works use locking techniques where a collaborator gets exclusive Write access to a part of the workﬂow to facilitate the consistency management . we o work on efficient locking algorithms that can reduce average waiting time of the collaborators and thus can improve the usability of a collaborative scientific workflow management system.
- ProvMod-Viz: Workflow provenance is important for workflow behavior analysis, data quality measurement, usage pattern mining, fault detection, monitoring, providing user recommendations, resource management and so on. Data intensive workflow systems are never complete without provenance support. We have been developing a workflow programming model that is based on the Python Programming Language, extendable to a broad range of use cases, adaptable to third party tools and offers automated provenance, easy configuration and provenance querying via data visualizations.
- Cross Language Software Similarity Detection (CroLSIM): As workflow management systems include software tools across various programming, languages, we are working on developing a tool that can detect similar software applications written in various programming languages.
- Meta data handling: We have been working on creating a dictionary based website for describing P2IRC-metadata.