Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00070
Ihar Shulhan
In this paper we propose and evaluate a method based on recurrent neural networks to identify users by their application usage. The method was tested on the data collected by non-invasive metrics collection system developed at Innopolis University. The first results achieved on initial dataset show a high user identification accuracy and a potential for further research.
{"title":"Identifying Developers by Their Application Usage","authors":"Ihar Shulhan","doi":"10.1109/ICSE-Companion.2019.00070","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00070","url":null,"abstract":"In this paper we propose and evaluate a method based on recurrent neural networks to identify users by their application usage. The method was tested on the data collected by non-invasive metrics collection system developed at Innopolis University. The first results achieved on initial dataset show a high user identification accuracy and a potential for further research.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132271121","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}
Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00076
Gouri Deshpande
Requirements elicitation is a cognitively difficult task. Rich semantics in natural language based requirements impose challenges in elicitation, analysis and maintenance of requirement inter-dependencies. The challenges intensify further when dependency types and strengths are considered. Ignoring inter-dependencies can adversely impact the design, development and testing of software products. This PhD research proposal addresses three main challenges. First, Natural Language Processing (NLP) is studied to automatically extract dependencies from textual documents. Further verb classifiers are utilized to automate elicitation and analysis of different types of dependencies (e.g: requires, coupling etc). Second, representation and maintenance of changing requirement dependencies from designing graph theoretic algorithms will be explored. Third, the process of providing recommendations of dependencies will be studied. The results are aimed at assisting project managers to evaluate the impact of inter-dependencies and make effective decisions in software development life cycle.
{"title":"SReYantra: Automated Software Requirement Inter-Dependencies Elicitation, Analysis and Learning","authors":"Gouri Deshpande","doi":"10.1109/ICSE-Companion.2019.00076","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00076","url":null,"abstract":"Requirements elicitation is a cognitively difficult task. Rich semantics in natural language based requirements impose challenges in elicitation, analysis and maintenance of requirement inter-dependencies. The challenges intensify further when dependency types and strengths are considered. Ignoring inter-dependencies can adversely impact the design, development and testing of software products. This PhD research proposal addresses three main challenges. First, Natural Language Processing (NLP) is studied to automatically extract dependencies from textual documents. Further verb classifiers are utilized to automate elicitation and analysis of different types of dependencies (e.g: requires, coupling etc). Second, representation and maintenance of changing requirement dependencies from designing graph theoretic algorithms will be explored. Third, the process of providing recommendations of dependencies will be studied. The results are aimed at assisting project managers to evaluate the impact of inter-dependencies and make effective decisions in software development life cycle.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122903778","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}
Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00112
M. Bastarrica, Daniel Perovich, Francisco J. Gutierrez, Maíra R. Marques
We teach a capstone course on software engineering where students work in teams during one semester in a real world setting. By the end of each of the three iterations, students get a grade that takes into account several aspects including peer assessment. In the past, students with low commitment used to get only a slightly lower grade because peer assessment's weight was very low. Last semester we added a new grading rule: if the peer assessment is lower than a threshold, then such a grade would be final for the affected student(s). In this work we aim to show the effectiveness of this rule for promoting teamwork quality by recording the progression of peer assessments along the semester. We found that peer assessment decreases and is more disperse in the second iteration, but significantly improves in the third iteration. Our results suggest that the new rule is effective for improving teamwork by making students more responsible for their teammates' grades sooner in the project, when there is still time for improvement.
{"title":"A Grading Schema for Reinforcing Teamwork Quality in a Capstone Course","authors":"M. Bastarrica, Daniel Perovich, Francisco J. Gutierrez, Maíra R. Marques","doi":"10.1109/ICSE-Companion.2019.00112","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00112","url":null,"abstract":"We teach a capstone course on software engineering where students work in teams during one semester in a real world setting. By the end of each of the three iterations, students get a grade that takes into account several aspects including peer assessment. In the past, students with low commitment used to get only a slightly lower grade because peer assessment's weight was very low. Last semester we added a new grading rule: if the peer assessment is lower than a threshold, then such a grade would be final for the affected student(s). In this work we aim to show the effectiveness of this rule for promoting teamwork quality by recording the progression of peer assessments along the semester. We found that peer assessment decreases and is more disperse in the second iteration, but significantly improves in the third iteration. Our results suggest that the new rule is effective for improving teamwork by making students more responsible for their teammates' grades sooner in the project, when there is still time for improvement.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128053669","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}
Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00021
M. Storey
How often do we pause to consider how we, as a community, decide which developer problems we address, or how well we are doing at evaluating our solutions within real development contexts? Many of our research contributions in software engineering can be considered as purely technical. Yet somewhere, at some time, a software developer may be impacted by our research. In this talk, I invite the community to question the impact of our research on software developer productivity. To guide the discussion, I first paint a picture of the modern-day developer and the challenges they experience. I then present 4+1 views of software engineering research — views that concern research context, method choice, research paradigms, theoretical knowledge and real-world impact. I demonstrate how these views can be used to design, communicate and distinguish individual studies, but also how they can be used to compose a critical perspective of our research at a community level. To conclude, I propose structural changes to our collective research and publishing activities —changes to provoke a more expeditious consideration of the many challenges facing today's software developer.
{"title":"Publish or Perish: Questioning the Impact of Our Research on the Software Developer","authors":"M. Storey","doi":"10.1109/ICSE-Companion.2019.00021","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00021","url":null,"abstract":"How often do we pause to consider how we, as a community, decide which developer problems we address, or how well we are doing at evaluating our solutions within real development contexts? Many of our research contributions in software engineering can be considered as purely technical. Yet somewhere, at some time, a software developer may be impacted by our research. In this talk, I invite the community to question the impact of our research on software developer productivity. To guide the discussion, I first paint a picture of the modern-day developer and the challenges they experience. I then present 4+1 views of software engineering research — views that concern research context, method choice, research paradigms, theoretical knowledge and real-world impact. I demonstrate how these views can be used to design, communicate and distinguish individual studies, but also how they can be used to compose a critical perspective of our research at a community level. To conclude, I propose structural changes to our collective research and publishing activities —changes to provoke a more expeditious consideration of the many challenges facing today's software developer.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132539501","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}
Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00125
Debajyoti Mondal, Manishankar Mondal, C. Roy, Kevin A. Schneider, Shisong Wang, Yukun Li
Software systems in this big data era are growing larger and becoming more intricate. Tracking and managing code clones in such evolving software systems are challenging tasks. To understand how clone fragments are evolving, the programmers often analyze the co-evolution of clone fragments manually to decide about refactoring, tracking, and bug removal. Such manual analysis is infeasible for a large number of clones with clones evolving over hundreds of software revisions. We propose a visual analytics framework, that leverages big data visualization techniques to manage code clones in large software systems. Our framework combines multiple information-linked zoomable views, where users can explore and analyze clones through interactive exploration in real time. We discuss several scenarios where our framework may assist developers in real-life software development and clone maintenance. Experts' reviews reveal many future potentials of our framework.
{"title":"Towards Visualizing Large Scale Evolving Clones","authors":"Debajyoti Mondal, Manishankar Mondal, C. Roy, Kevin A. Schneider, Shisong Wang, Yukun Li","doi":"10.1109/ICSE-Companion.2019.00125","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00125","url":null,"abstract":"Software systems in this big data era are growing larger and becoming more intricate. Tracking and managing code clones in such evolving software systems are challenging tasks. To understand how clone fragments are evolving, the programmers often analyze the co-evolution of clone fragments manually to decide about refactoring, tracking, and bug removal. Such manual analysis is infeasible for a large number of clones with clones evolving over hundreds of software revisions. We propose a visual analytics framework, that leverages big data visualization techniques to manage code clones in large software systems. Our framework combines multiple information-linked zoomable views, where users can explore and analyze clones through interactive exploration in real time. We discuss several scenarios where our framework may assist developers in real-life software development and clone maintenance. Experts' reviews reveal many future potentials of our framework.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134020208","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}
Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00034
Oszkár Semeráth, Aren A. Babikian, Sebastian Pilarski, Dániel Varró
Viatra Solver [1] is a novel open source software tool to automatically synthesize consistent and diverse domain-specific graph models to be used as a test suite for the systematic testing of CPS modelling tools. Taking a metamodel, and a set of well-formedness constraints of a domain as input, the solver derives a diverse set of consistent graph models where each graph is compliant with the metamodel, satisfies consistency constraints, and structurally different from each other. The tool is integrated into the Eclipse IDE or it is executable from the command line.
{"title":"VIATRA Solver: A Framework for the Automated Generation of Consistent Domain-Specific Models","authors":"Oszkár Semeráth, Aren A. Babikian, Sebastian Pilarski, Dániel Varró","doi":"10.1109/ICSE-Companion.2019.00034","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00034","url":null,"abstract":"Viatra Solver [1] is a novel open source software tool to automatically synthesize consistent and diverse domain-specific graph models to be used as a test suite for the systematic testing of CPS modelling tools. Taking a metamodel, and a set of well-formedness constraints of a domain as input, the solver derives a diverse set of consistent graph models where each graph is compliant with the metamodel, satisfies consistency constraints, and structurally different from each other. The tool is integrated into the Eclipse IDE or it is executable from the command line.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134491900","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}
Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00106
Chenguang Sun, S. Midkiff
We present DynaSens, a demand-driven approach to points-to analysis that uses slicing to automatically adjust the analysis' context-sensitivity. Within a points-to analysis, heap-carried data flows are composed of loads and stores, and these heap-carried dependences are difficult to resolve. Having observed the limitations of existing techniques, we propose a slicing analysis based on a demand-driven approach to resolve such dependences. Given a points-to query, a collection of relevant program elements is identified by the slicing analysis and handled context-sensitively by the points-to analysis. We compare the precision and cost of our points-to analysis against two state-of-the-art uniformly context-sensitive analyses that achieve the best trade between cost and precision to date. Evaluation results shows the points-to analysis refined by the slicing analysis achieves higher precision in most tests than the uniformly context-sensitive analyses, which are many times more costly.
{"title":"Demand-Driven Refinement of Points-to Analysis","authors":"Chenguang Sun, S. Midkiff","doi":"10.1109/ICSE-Companion.2019.00106","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00106","url":null,"abstract":"We present DynaSens, a demand-driven approach to points-to analysis that uses slicing to automatically adjust the analysis' context-sensitivity. Within a points-to analysis, heap-carried data flows are composed of loads and stores, and these heap-carried dependences are difficult to resolve. Having observed the limitations of existing techniques, we propose a slicing analysis based on a demand-driven approach to resolve such dependences. Given a points-to query, a collection of relevant program elements is identified by the slicing analysis and handled context-sensitively by the points-to analysis. We compare the precision and cost of our points-to analysis against two state-of-the-art uniformly context-sensitive analyses that achieve the best trade between cost and precision to date. Evaluation results shows the points-to analysis refined by the slicing analysis achieves higher precision in most tests than the uniformly context-sensitive analyses, which are many times more costly.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116071560","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}
Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00051
Youcheng Sun, Xiaowei Huang, D. Kroening, James Sharp, Matthew Hill, Rob Ashmore
Deep neural networks (DNNs) have been deployed in a wide range of applications. We introduce a DNN testing and debugging tool, called DeepConcolic, which is able to detect errors with sufficient rigour so as to be applicable to the testing of DNNs in safety-related applications. DeepConcolic is the first tool that implements a concolic testing technique for DNNs, and the first testing tool that provides users with the functionality of investigating particular parts of a DNN. The tool has been made publicly available and a demo video can be found at https://youtu.be/rliynbhoNLM.
{"title":"DeepConcolic: Testing and Debugging Deep Neural Networks","authors":"Youcheng Sun, Xiaowei Huang, D. Kroening, James Sharp, Matthew Hill, Rob Ashmore","doi":"10.1109/ICSE-Companion.2019.00051","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00051","url":null,"abstract":"Deep neural networks (DNNs) have been deployed in a wide range of applications. We introduce a DNN testing and debugging tool, called DeepConcolic, which is able to detect errors with sufficient rigour so as to be applicable to the testing of DNNs in safety-related applications. DeepConcolic is the first tool that implements a concolic testing technique for DNNs, and the first testing tool that provides users with the functionality of investigating particular parts of a DNN. The tool has been made publicly available and a demo video can be found at https://youtu.be/rliynbhoNLM.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115394948","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}
Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00072
Aleksandr V. Tarasov
In this research, the author investigates the impact of lifestyle and working process-oriented factors on the job satisfaction level of Software Engineers by analyzing conducted survey results. To design the survey properly, he employs Goals Questions Metrics (GQM) approach. By statistical analysis of a survey, the author identified ten significant factors on a confidence interval of 95%. The analysis shows that some of the factors, that software engineering society usually accepts as related to job satisfaction, have no tangible impact on workplace contentment. The author describes the multivariate regression model. He employs combining various factors to find out what metrics should project managers evaluate to predict the level of employees' job satisfaction. The author provides recommendations for project management and team leads on assessing and increasing developers' level of workplace contentment in accordance with study findings.
{"title":"Impact of Lifestyle and Working Process Organization on the Job Satisfaction Level of Software Engineers","authors":"Aleksandr V. Tarasov","doi":"10.1109/ICSE-Companion.2019.00072","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00072","url":null,"abstract":"In this research, the author investigates the impact of lifestyle and working process-oriented factors on the job satisfaction level of Software Engineers by analyzing conducted survey results. To design the survey properly, he employs Goals Questions Metrics (GQM) approach. By statistical analysis of a survey, the author identified ten significant factors on a confidence interval of 95%. The analysis shows that some of the factors, that software engineering society usually accepts as related to job satisfaction, have no tangible impact on workplace contentment. The author describes the multivariate regression model. He employs combining various factors to find out what metrics should project managers evaluate to predict the level of employees' job satisfaction. The author provides recommendations for project management and team leads on assessing and increasing developers' level of workplace contentment in accordance with study findings.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"164 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122714653","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}
Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00128
M. Nassif, M. Robillard
Software projects capture information in artifacts that include production code, test suites, and documentation. Because different artifacts serve different purposes, some artifacts can include redundant information, encoded in different formats. To mitigate this redundancy, we propose an approach to explicitly encode in unit tests information that will be automatically extracted and added to the documentation of the software. We implemented this approach in the form of an Eclipse plug-in that binds unit tests written with JUnit to the header comments of the tested methods.
{"title":"Constructural Software Documentation","authors":"M. Nassif, M. Robillard","doi":"10.1109/ICSE-Companion.2019.00128","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00128","url":null,"abstract":"Software projects capture information in artifacts that include production code, test suites, and documentation. Because different artifacts serve different purposes, some artifacts can include redundant information, encoded in different formats. To mitigate this redundancy, we propose an approach to explicitly encode in unit tests information that will be automatically extracted and added to the documentation of the software. We implemented this approach in the form of an Eclipse plug-in that binds unit tests written with JUnit to the header comments of the tested methods.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125577346","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}