{"title":"Effective Lightweight Software Fault Localization based on Test Suite Optimization","authors":"Amol Saxena, Roheet Bhatnagar, Devesh Kumar Srivastava","doi":"10.1145/3511430.3511437","DOIUrl":"https://doi.org/10.1145/3511430.3511437","url":null,"abstract":"Automated software fault localization techniques aid developers in program debugging by identifying the probable locations of faults in a program with minimum human intervention. As software is growing in complexity and scale today, increasing the efficiency of fault localization techniques is very essential in order to reduce the overall software development cost. The effectiveness of the test suites used in the fault localization process has a significant impact on the efficiency of the process. Previous studies, on the other hand, have placed less focus on the adequacy of test suites for the fault localization process. We apply optimized test suites in this paper to improve the performance of software fault localization in a single-fault scenario. For our experiments, we use spectrum-based fault localization (SBFL) techniques. Because of its minimal computing overhead and scalability, spectrum-based fault localization is a popular, efficient, and yet lightweight fault localization technique. To optimize the test suite, we employ a heuristic that asserts that if a faulty statement is executed by a passing test case, that test case will have a negative impact on fault localization performance. In contrast, if a passing test case does not execute the faulty statement, the faulty statement's suspiciousness increases, which has a positive impact on fault localization performance. The test suite optimization approach used in this paper significantly improves fault localization performance, as demonstrated by our experiments. The results show that the proposed method efficiently reduces the number of statements examined by about 84.94 percent on average.","PeriodicalId":138760,"journal":{"name":"15th Innovations in Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125879857","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Requirements for Automating Moderation in Community Question-Answering Websites","authors":"Issa Annamoradnejad","doi":"10.1145/3511430.3511458","DOIUrl":"https://doi.org/10.1145/3511430.3511458","url":null,"abstract":"In recent years, community Q&A websites have attracted many users and have become reliable sources among experts from various fields. These platforms have specific rules to maintain their content quality in addition to general user agreements. Due to the vast expanse of these systems in terms of the number of users and posts, manual checking and verification of new contents by the administrators and official moderators are not feasible, and these systems require scalable solutions. In major Q&A networks, the current strategy is to use crowdsourcing with reliance on reporting systems. This strategy has serious problems, including the slow handling of violations, the loss of new and experienced users’ time, the low quality of user reports, and discouraging feedback to new users. While this is a great opportunity to utilize machine-learning approaches to provide automated recommender systems and classification models, there are specific non-functional requirements or aspects related to these software systems that need to be introduced and incorporated in the design of a new system. In this short paper, I pinpoint three key aspects: (1) Any good approach should consider specific attributes and features related to context, (2) Automated mechanisms should be proposed according to the highly evolving content of Q&A websites, and (3) Decisions are best to accompany clear and justifiable explanations. Furthermore, a technical conceptual model is proposed by considering these aspects and related approaches. This is a part of a research project where the final goal is to provide accurate, adaptable, efficient, and explainable solutions for automating moderation actions in Q&A websites.","PeriodicalId":138760,"journal":{"name":"15th Innovations in Software Engineering Conference","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125693076","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Deepali Kholkar, Suman Roychoudhury, V. Kulkarni, S. Reddy
{"title":"Learning to Adapt – Software Engineering for Uncertainty","authors":"Deepali Kholkar, Suman Roychoudhury, V. Kulkarni, S. Reddy","doi":"10.1145/3511430.3511449","DOIUrl":"https://doi.org/10.1145/3511430.3511449","url":null,"abstract":"Modern businesses are being subjected to an unprecedented variety of change drivers that cannot be predicted such as new regulations, emerging business models, and changing needs of stakeholders. This creates new demands on enterprises to meet stated goals in a dynamic and uncertain environment that translate to demands on the enterprise’s software systems. Software systems however are currently designed to deliver a fixed set of goals and assumed to operate in a static environment, falling short in addressing the need for continuous adaptation under uncertainty. State-of-the-art adaptation architectures like MAPE-K have been applied to meeting non-functional requirements in a dynamic environment using a static repository of knowledge. This paper articulates the need for architecting software systems that learn from their own operation to dynamically extend existing knowledge, and utilize the knowledge to meet stated functional goals in an uncertain environment.","PeriodicalId":138760,"journal":{"name":"15th Innovations in Software Engineering Conference","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134562127","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Localizing Faults Using Verification Technique","authors":"S. Dutta","doi":"10.1145/3511430.3511445","DOIUrl":"https://doi.org/10.1145/3511430.3511445","url":null,"abstract":"In model-based fault diagnosis, it is assumed that a correct model of each program being diagnosed is available. That is, these models serve as the oracles of the corresponding programs. Differences between the behaviors of a model and the actual observed behaviors of the program are then used to find bugs in the program. However, these techniques normally require test cases and user-specified assertions to localize the fault. In this paper, we aim to localize faults in a faulty program without user-specified assertions and without executing the programs, and therefore, without using test cases. Instead, given the faulty and the correct versions of a program, a product code is automatically constructed and assertions are automatically generated. This is a fully automatic, model-based static approach to fault localization. The proposed method reduces the fault search space by removing equivalent regions from the product code using verification techniques. We demonstrate the effectiveness of the proposed method using the Siemens TCAS benchmark. We observe that the method can successfully localize the wrong safety check bug produced by LLVM compiler.","PeriodicalId":138760,"journal":{"name":"15th Innovations in Software Engineering Conference","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133812397","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Asha Rajbhoj, Padmalata V. Nistala, Pulkit Batra, V. Kulkarni
{"title":"AI-enabled Project Initiation: An approach based on RFP Response Document","authors":"Asha Rajbhoj, Padmalata V. Nistala, Pulkit Batra, V. Kulkarni","doi":"10.1145/3511430.3511450","DOIUrl":"https://doi.org/10.1145/3511430.3511450","url":null,"abstract":"Project planning starts with the project initiation phase in which high-level project objectives, commitments, requirements, risks etc. are identified. Typically, the Project Manager involves multiple stakeholders such as HR, Admin, Infrastructure team for the initiation phase to understand and outline the requirements for each group. Current industry practice largely relies on the project manager’s experience to carry out the project initiation activities keeping in view the customer context and commitments made. Many times, important information is missed during the transfer of information from sales to delivery resulting in not meeting customer expectations and delivery slippages. Here we propose an AI-enabled approach to automatically extract and classify project initiation relevant information from Request For Proposal (RFP) response document using a combination of NLP and ML-based techniques. The approach is validated with real life RFP response documents for five customers. Overall, 76% accuracy was observed for question classification and 41% information was found to be relevant for project initiation from the RFP response documents. In this paper, we share details of our approach, its implementation, early results, and lessons learnt.","PeriodicalId":138760,"journal":{"name":"15th Innovations in Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130230367","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"IR Mapping: Intermediate Representation (IR) based Mapping to facilitate Incremental Static Analysis","authors":"Vaidehi Ghime, Ankita Khadsare, Anushri Jana, Bharti Chimdyalwar","doi":"10.1145/3511430.3511451","DOIUrl":"https://doi.org/10.1145/3511430.3511451","url":null,"abstract":"An Intermediate Representation (IR) is a data structure to represent a program. It represents each program entity as an object (IR object), having a unique identification number (ID). Static program analysis tools perform analysis on IRs of the input program and compute analysis information at program points - which are represented as IR objects. The analysis information is stored against their corresponding ID. Performing incremental analysis on evolving systems involve the reuse of analysis information for the unchanged IR objects between versions of a program. However, the IDs changes over the version with the change. This acts as an obstacle to the reuse of analysis information. To overcome this, a one-to-one correspondence between IDs of unchanged IR objects is necessary. We term this correspondence as IR mapping. This paper presents an accurate and efficient approach for IR mapping. We formally proved the correctness of our IR mapping technique. We evaluated the time consumption of our technique on versions of a core banking application. We found that our approach consumes on an average of 5.7% of the total time taken by incremental analysis of programs ranging from 9K- 87K LoC.","PeriodicalId":138760,"journal":{"name":"15th Innovations in Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128529524","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Reproducibility Challenges and Their Impacts on Technical Q&A Websites: The Practitioners’ Perspectives","authors":"Saikat Mondal, B. Roy","doi":"10.1145/3511430.3511439","DOIUrl":"https://doi.org/10.1145/3511430.3511439","url":null,"abstract":"Software developers often submit questions to technical Q&A sites like Stack Overflow (SO) to resolve their code-level problems. Usually, they include example code segments with their questions to explain the programming issues. When users of SO attempt to answer the questions, they prefer to reproduce the issues reported in questions using the given code segments. However, such code segments could not always reproduce the issues due to several unmet challenges (e.g., too short code segment) that might prevent questions from receiving appropriate and prompt solutions. A previous study produced a catalog of potential challenges that hinder the reproducibility of issues reported at SO questions. However, it is unknown how the practitioners (i.e., developers) perceive the challenge catalog. Understanding the developers’ perspective is inevitable to introduce interactive tool support that promotes reproducibility. We thus attempt to understand developers’ perspectives by surveying 53 users of SO. In particular, we attempt to – (1) see developers’ viewpoints on the agreement to those challenges, (2) find the potential impact of those challenges, (3) see how developers address them, and (4) determine and prioritize tool support needs. Survey results show that about 90% of participants agree to the already exposed challenges. However, they report some additional challenges (e.g., error log missing) that might prevent reproducibility. According to the participants, too short code segment and absence of required Class/Interface/Method from code segments severely prevent reproducibility, followed by missing important part of code. To promote reproducibility, participants strongly recommend introducing tool support that interacts with question submitters with suggestions for improving the code segments if the given code segments fail to reproduce the issues.","PeriodicalId":138760,"journal":{"name":"15th Innovations in Software Engineering Conference","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122135158","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Catalogue of Game-Specific Anti-Patterns","authors":"Vartika Agrahari, S. Chimalakonda","doi":"10.1145/3511430.3511436","DOIUrl":"https://doi.org/10.1145/3511430.3511436","url":null,"abstract":"With the ever-increasing use of games, game developers are expected to write efficient code and support several aspects such as security, maintainability, and performance. However, the continuous need to update the features of games in shorter duration might compel the developers to use anti-patterns, code smells and quick-fix solutions that may affect the functional and non-functional requirements of the game. These bad practices may lead to technical debt, poor program comprehension, and can cause several issues during software maintenance. While there exists empirical research on games, we are not aware of any work on understanding and cataloguing these anti-patterns in the domain of games. Thus, in this paper, we propose a catalogue of game-specific anti-patterns by mining and analyzing 892 commits, 189 issues, and 104 pull requests from 100 open-source GitHub game repositories. We use regular expressions and thematic analysis on this dataset and present a catalogue of ten game-specific anti-patterns along with examples. We see this catalogue as a first step for further empirical research in the domain of games and can help game developers to improve quality of games.","PeriodicalId":138760,"journal":{"name":"15th Innovations in Software Engineering Conference","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126602232","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}