{"title":"A Report on the Fifth Workshop on Emerging Software Engineering Education (WESEE 2023)","authors":"S. Tiwari, Sheikh Umar Farooq, S. Rathore","doi":"10.1145/3578527.3581749","DOIUrl":"https://doi.org/10.1145/3578527.3581749","url":null,"abstract":"In this report, we present a pre-organization summary of the fifth workshop on emerging software engineering education (WESEE) to be held on February 23, 2023, co-located with the 16th Innovations in Software Engineering Conference (ISEC 2023), February 23–25, 2023. The 5th edition of WESEE, a half-day workshop, focuses on open discussions and brainstorming sessions on software engineering education. The workshop will discuss “Artificial Intelligence (AI), Human Flourishing, Learning Goals, Collaboration in Software Engineering (SE)\". The workshop consists of two invited talks, one hands-on activity, and an open-ended concluding discussion session. The academic faculty members, students (UG & PG), researchers working in SE education, and industry practitioners can attend the workshop.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115300860","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":"Digital Twin Engineering","authors":"Souvik Barat, Aditya A. Paranjape","doi":"10.1145/3578527.3581747","DOIUrl":"https://doi.org/10.1145/3578527.3581747","url":null,"abstract":"Environmental uncertainty and hyperconnectivity force techno-socio-economic systems to introspect and adapt to succeed and survive. The current practice is primarily intuition-driven, which is inconsistent with the need for precision and rigor. The concept of digital twins is rapidly emerging as an experimentation aid to help: (i) understand why a system is the way it is, (ii) prepare for possible outlier conditions; and (iii) identify plausible solutions for mitigating the outlier conditions in an evidence-backed manner. However, its effective use is limited to physical and cyber-physical systems that are governed by well-established laws and operate in environments that are relatively static or that evolve slowly. This workshop brings together leading researchers and practitioners from various fields and from different parts of the world to explore the challenges involved in effectively using digital twin technologies for techno-socio-economic systems, and to exchange ideas, concepts, approaches that aim to address those challenges.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115614323","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":"Proof-oriented programming for high-assurance systems","authors":"Aseem Rastogi","doi":"10.1145/3578527.3581769","DOIUrl":"https://doi.org/10.1145/3578527.3581769","url":null,"abstract":"Proof-oriented programming is a paradigm where programs are designed and developed along with mathematical proofs of their correctness and security. In recent years, proof-oriented programming has reached a point where not only several high-assurance software components have been developed using it, but these components have also been deployed in production systems. In this talk, I will provide an overview of this paradigm in the context of F*, a proof-oriented programming language developed at Microsoft Research. I will briefly discuss several critical software components, developed from scratch in F*. These components are already deployed in production systems such as Windows Hyper-V, the Linux kernel, Firefox, and mbedTLS. As a complementary methodology for retrofitting strong, formal guarantees on existing legacy services, I will present the Zeta framework. Zeta works by running a small, proven correct monitor in a trusted execution environment validating responses from the service. The key idea is that we only need to develop the monitor using proof-oriented programming once-and-for-all, while the large legacy service remains untrusted. I will illustrate Zeta by sketching an example of how we can make a concurrent, high-performance, key-value store \"zero trust\" and argue that this step incurs modest software engineering effort and modest runtime overheads.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125088371","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":"Similarities in Challenges faced by Developers: Investigations on Stack Overflow and GitHub","authors":"Nidhi Pandya, S. Tiwari","doi":"10.1145/3578527.3578539","DOIUrl":"https://doi.org/10.1145/3578527.3578539","url":null,"abstract":"A large amount of rich data available in today’s world encounters a lot of opportunities to analyze the data and identify some valuable patterns from them. However, dealing with such data requires automated frameworks and knowledge of programming languages. The most common and widely used programming languages among developers are Java and Python, as evident from the queries and issues posted on Stack Overflow and GitHub. Despite the popularity of both Java and Python, the challenges in transitioning from one technology to another technology are hard for individuals and industries. In this paper, we aim to investigate similarities in the challenges faced by developers while dealing with both programming languages. To achieve this goal, we formulated two research questions (RQs) for understanding the topics and issues asked and faced by developers. We have also identified the temporal trend of asking new questions on Stack Overflow for Java and Python programming languages (PLs). Our results revealed the changing trend, from 2015 onwards, from Java to Python and inclined towards Python from the number of new posts on Stack Overflow. We analyzed 18,892 Stack Overflow questions related to Java and Python PLs and 42,674 issues from 22 different GitHub repositories, 11 for each PL. Our results indicate that questions asked on Stack Overflow are co-related to issues posted by developers on GitHub during real-time development for a respective PL.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"8 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116834105","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}
Abhishek Kumar, Deep Ghadiyali, S. Chimalakonda, Akhila Sri Manasa Venigalla
{"title":"SOCluster - Towards Answering Unanswered Questions on Stack Overflow via Answered Questions","authors":"Abhishek Kumar, Deep Ghadiyali, S. Chimalakonda, Akhila Sri Manasa Venigalla","doi":"10.1145/3578527.3578544","DOIUrl":"https://doi.org/10.1145/3578527.3578544","url":null,"abstract":"Stack Overflow (SO) platform has a huge dataset of questions and answers driven by interactions between users. But the count of unanswered questions is continuously rising, which is observed in various similar community Question & Answering platforms (Q&A) such as Yahoo, Quora and so on. To address this issue, these communities have explored clustering mechanisms to answer unanswered questions using other answered questions in the same cluster, which could also improve the response time for new questions. It is here, we propose SOCluster, an approach and a tool to cluster SO questions using a graph-based clustering approach. We selected four datasets of 10k, 20k, 30k & 40k SO questions without code-snippets or images involved, and performed clustering on them. We have done a preliminary evaluation of our tool by analyzing the resultant clusters using the commonly used metrics of Silhouette coefficient, Calinkski-Harabasz Index, & Davies-Bouldin Index. We performed clustering for 8 different threshold similarity values and analyzed the intriguing trends reflected by the output clusters through the three evaluation metrics. At 90% threshold similarity, it shows the best improvement for the three evaluation metrics on all four datasets. We further manually assessed the content in the clusters to confirm the similarity of elements in clusters. This revealed clusters to correspond to topics such as mouse over effect, speed optimisation, how to perform ‘some’ action in JavaScript, and so on. The source code and tool are available for download on Github at: https://github.com/rishalab/SOCluster, and the demo can be found here: https://youtu.be/Ewm-M_rg_x8.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129621212","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}
Sharath H. Padmanabha, Fahad Shaikh, Mayank Bansal, Debanjan Chatterjee, Preeti Singh, Amey Karkare, Purushottam Kar
{"title":"Advances in Automated Pedagogical Compile-time Error Repair","authors":"Sharath H. Padmanabha, Fahad Shaikh, Mayank Bansal, Debanjan Chatterjee, Preeti Singh, Amey Karkare, Purushottam Kar","doi":"10.1145/3578527.3578535","DOIUrl":"https://doi.org/10.1145/3578527.3578535","url":null,"abstract":"Automated pedagogical error repair (APER) is the task of suggesting fixes to buggy programs written by beginner or novice programmers. APER tools have been shown to greatly improve the learning experience for students for whom error messages offered by compilers or runtime environments are either unhelpful and often misleading. Consequently, several APER tools have been proposed in literature using a variety of powerful machine learning techniques including sequence-to-sequence modelling (TRACER), reinforcement learning (RLAssist), graph attention (DrRepair) and decision trees (MACER). Despite offering high repair rates, these tools are often bulky, requiring several days of training and extensive GPU resources. This paper describes CAPER, a novel APER tool for the C programming language that offers 4-5% higher repair accuracy than existing APER tools on multiple benchmark error repair datasets. CAPER has the added advantage of being significantly lighter and faster than most existing tools, being able to train on a CPU and yet offering training speedups of 2 × over TRACER, 600 × over RLAssist and 700 × over DrRepair. The paper also describes PyPER, an extension of CAPER to the Python programming language. Code for CAPER is available at https://github.com/purushottamkar/caper/","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129080460","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}
Sahithi Tummalapalli, L. Kumar, Lalita Bhanu Murthy Neti, A. Krishna
{"title":"A Comparative Analysis on the Detection of Web Service Anti-Patterns Using Various Metrics","authors":"Sahithi Tummalapalli, L. Kumar, Lalita Bhanu Murthy Neti, A. Krishna","doi":"10.1145/3578527.3578534","DOIUrl":"https://doi.org/10.1145/3578527.3578534","url":null,"abstract":"Nowadays, the application of machine learning for developing prediction models is one of the most critical research areas. Early prediction of anti-patterns using machine learning can help developers, and testers fix the design issues and utilize the resources effectively. This work analyzes four different sets of metrics, i.e., source code, WSDL, text, and sequence metrics, to develop web service anti-pattern prediction models. These sets of metrics are treated as an input for models trained using thirty-eight classification techniques to build a model. The experimental finding shows that the models trained using sequence metrics produce better results. The experimental finding also confirmed that the models trained on balanced data achieved better performance than the original data. Further, it is also found that the models trained using CNN and LSTM deep learning approach achieve better results compared to other techniques.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121932652","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 modeling language for novice engineers to design well at SaaS product companies","authors":"Mrityunjay Kumar, Venkatesh Choppella","doi":"10.1145/3578527.3578548","DOIUrl":"https://doi.org/10.1145/3578527.3578548","url":null,"abstract":"Software-as-a-Service (SaaS) product companies have brought in significant changes in how we build software from architecture and engineering process perspective. SaaS products are large, distributed software systems hosted in cloud and built using collaborating services (or micro-services). The software releases happen in days and weeks, necessitating an agile development process. Novice engineers (those who join the company fresh from college) need to become comfortable with complex systems and proficient in agile delivery with high quality, otherwise they fall behind in productivity. The paper posits that, to be successful at these SaaS product companies, the novice engineers need good modeling and design skills. While this has been for all software development, the changes driven by SaaS products have made this need more acute. Such skills will allow them to capture their feature behaviors (in context of their understanding of the larger product) in an implementation-independent manner and any knowledge gaps can be identified and bridged by their collaborators. We propose a modeling language that is easy for them to learn and use, and which has characteristics suitable for the kind of engineering work they need to do in their early years in a SaaS product company. This modeling language is based on the notion of Transition Systems. The paper demonstrates the usage and value of this language by creating a model for a real feature. The modeling language is quite general and transcends abstraction boundaries. We also present a modeling process that should be used with this language for better results. This is a short position paper that presents an idea about a new modeling language for a specific purpose (helping novice engineers design well at SaaS product companies). Validation studies for the language and the design process is a work in progress and the results will be shared in a full paper later.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133979401","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":"Process Line Diagrams (PLDs): An Approach for Modular Process Modeling","authors":"Karnika Shivhare, R. Joshi","doi":"10.1145/3578527.3578537","DOIUrl":"https://doi.org/10.1145/3578527.3578537","url":null,"abstract":"Process Architecture is a relatively young paradigm in Software Architecture. Business Processes are logical models of architectures which are implemented via technologies such as workflow engines. With the development of BPMN and allied techniques, process architectures have gained a rich platform for development of process architecture descriptions. However, in this direction, we see a need for a modular and compact representation technique that has the ability to unambiguously capture the rich variations occurring in the dynamics of processes. The paper presents Process Line Diagrams (PLDs), a novel visual modeling language for modeling the dynamics of Business Process Architectures. Our modular and compact approach bridges the gap between low-level state machines which lose high level information about process entities and relations, and high level visual dynamic models which are too descriptive, and notation heavy. The approach is illustrated with examples of transformed and refined models bringing out the gains including modular structuring and compactness, on being compared to the traditional process modeling approach.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116804914","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}
Wajdi Aljedaani, Mona Aljedaani, Mohamed Wiem Mkaouer, S. Ludi
{"title":"Teachers Perspectives on Transition to Online Teaching Deaf and Hard-of-Hearing Students during the COVID-19 Pandemic: A Case Study","authors":"Wajdi Aljedaani, Mona Aljedaani, Mohamed Wiem Mkaouer, S. Ludi","doi":"10.1145/3578527.3578531","DOIUrl":"https://doi.org/10.1145/3578527.3578531","url":null,"abstract":"Education has faced various challenges due to the COVID- 19 pandemic. These challenges were even more dramatic for deaf and hard-of-hearing students as they transitioned to the online setting. This paper aims to explore the teachers’ perspectives on transitioning to educating computer science deaf students at a technical college in the Kingdom of Saudi Arabia (KSA). Therefore, the paper presents the results of 10 surveys and 5 interviews with faculty to identify the main obstacles that teachers have faced during the transition. This study outcomes reveal several challenges related to poor accessibility of learning tools, issues with the online availability of materials, no updates on the teaching pedagogy to accommodate the new settings and communication problems between teachers and students. Our study outlines important takeaways to provide deaf and hard-of-hearing students with a better learning experience.","PeriodicalId":326318,"journal":{"name":"Proceedings of the 16th Innovations in Software Engineering Conference","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124031258","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}