SEDec 7, 2020Code
A Tool to Extract Structured Data from GitHubShreyansh Surana, Smit Detroja, Saurabh Tiwari
GitHub repositories consist of various detailed information about the project contributors, the number of commits and its contributors, releases, pull requests, programming languages, and issues. However, no systematic dataset of open source projects exists which features detailed information about the repositories on GitHub for knowledge acquisition and mining. In this paper, we developed tool support, named GitRepository, which helps in creating a data-set of repositories based on the proposed schema. Out of initial 1680 repositories, the dataset hosts 620 repositories (with applied basic filters of stars and forks), and 247 repositories (after applying all pre-defined filters). The tool extracts the information of GitHub repositories and saves the data in the form of CSV. files and a database (.DB) file.
SEJun 20, 2019
A System Modeling Approach to Enhance Functional and Software DevelopmentSaurabh Tiwari, Emina Smajlovic, Amina Krekic et al.
This paper presents a SysML-based approach to enhance functional and software development process within an industrial context. The recent changes in technology such as electromobility and increased automation in heavy construction machinery lead to increased complexity for embedded software. Hence there emerges a need for new development methodologies to address flexible functional development, enhance communication among development teams, and maintain traceability from design concepts to software artefacts. The discussed approach has experimented in the context of developing a new transmission system (partially electrified) and its functionality. While the modeling approach is a work-in-progress, some initial success, as well as existing gaps pointing to future works are highlighted.
SEJun 16, 2019
The impact of Use Cases in real-world software development projects: A systematic mapping studyJosé L. Barros-Justo, Fabiane B. V. Benitti, Saurabh Tiwari
Objective: To identify and classify the positive and negative impacts of using Use Cases in real-world settings. Method: We conducted a systematic mapping study. The search strategies retrieved a set of 4,431 papers out of which 47 were selected as primary studies. We defined four facets to classify these studies: 1) the positive impact (advantages), 2) the negative impact (disadvantages), 3) the industry's domain and 4) the type of research reported. Results: Our study identified eight categories of advantages related to the application of Use Cases. The most mentioned were estimation, analysis and automation. These advantages had a heterogeneous distribution along the years. On the other hand, the granularity of the scenarios described in the Use Cases, the lack of a standardized format for specifying requirements, and the lack of appropriate guidelines for analysing them were the most mentioned disadvantages. We identified a variety of industry domains, grouped into seven categories. As we can expect most of the papers report experiences in the Information Technology domain, followed by financials applications. Almost half the papers applied evaluation research, including an empirical validation. Only one third of the analysed papers reported threats to validity, the most mentioned being generalizability (38%). Conclusions: Use Cases have proven to be a useful tool in software development, particularly during the early stages. The positive effects far outweigh the few negative effects reported, although this may be due to the researchers' tendency of not reporting negative results.
SESep 25, 2017
A Methodology for the Selection of Requirement Elicitation TechniquesSaurabh Tiwari, Santosh Singh Rathore
In this paper, we present an approach to select a subset of requirement elicitation technique for an optimum result in the requirement elicitation process. Our approach consists of three steps. First, we identify various attribute in three important dimensions namely project, people and the process of software development that can influence the outcome of an elicitation process. Second, we construct three p matrix (3PM) separately for each dimension, that shows a relation between the elicitation techniques and three dimensions of a software. Third, we provide a mapping criteria and use them in the selection of a subset of elicitation techniques. We demonstrate the applicability of the proposed approach using case studies to evaluate and provide the contextual knowledge of selecting requirement elicitation technique.