Pub Date : 2019-05-25DOI: 10.1109/ICSE-Companion.2019.00085
Kaushik Madala
With an increase in the automation of cyber-physical systems (e.g., automated vehicles and robots), quality problems such as off-nominal behaviors (ONBs) have also increased. While there are techniques that can find ONBs at the requirements engineering stage as it reduces the cost of addressing defects early in development, they do not meet the current industrial needs and often ignore functional safety. These techniques suffer from limitations such as scalability, need for significant human effort and inability to detect overlooked or unknown ONBs. To address these limitations we need a technique that analyzes requirements with respect to functional safety, but with less human effort. To achieve this, we propose our artificial intelligence-based model-driven methodology that provides a means to find ONBs during requirements engineering with minimal human effort. Our methodology utilizes existing approaches such as causal component model (CCM) and systems theoretic process analysis (STPA). We describe the details of each step of our approach and how our approach would support finding ONBs. Using our research and the results of our studies, we intend to provide empirical evidence that considering ONBs during requirements engineering stage and analyzing requirements with respect to functional safety can help create more robust designs and higher-quality products.
{"title":"An Artificial Intelligence-Based Model-Driven Approach for Exposing Off-Nominal Behaviors","authors":"Kaushik Madala","doi":"10.1109/ICSE-Companion.2019.00085","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00085","url":null,"abstract":"With an increase in the automation of cyber-physical systems (e.g., automated vehicles and robots), quality problems such as off-nominal behaviors (ONBs) have also increased. While there are techniques that can find ONBs at the requirements engineering stage as it reduces the cost of addressing defects early in development, they do not meet the current industrial needs and often ignore functional safety. These techniques suffer from limitations such as scalability, need for significant human effort and inability to detect overlooked or unknown ONBs. To address these limitations we need a technique that analyzes requirements with respect to functional safety, but with less human effort. To achieve this, we propose our artificial intelligence-based model-driven methodology that provides a means to find ONBs during requirements engineering with minimal human effort. Our methodology utilizes existing approaches such as causal component model (CCM) and systems theoretic process analysis (STPA). We describe the details of each step of our approach and how our approach would support finding ONBs. Using our research and the results of our studies, we intend to provide empirical evidence that considering ONBs during requirements engineering stage and analyzing requirements with respect to functional safety can help create more robust designs and higher-quality products.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"19 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":"115811186","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.00095
Sepehr Eghbali, Vinit Kudva, G. Rothermel, L. Tahvildari
Test case prioritization reorders sequences of test cases with the aim of increasing the rate at which faults can be detected. Most existing prioritization techniques employ coverage information gathered on previous test case executions to rank test cases. Existing studies in the literature, however, show that there is a high chance that "ties" occur during the prioritization procedure when using coverage-based techniques; that is, there is a high chance that cases will occur in which two or more candidate test cases have identical code coverage behaviors. To break such ties, most techniques resort to random re-ordering of test cases, which can degrade the rate of fault detection. In this work, we use an ensemble of defect prediction models to guide prioritization techniques towards breaking such ties by re-ordering test cases in terms of the likelihood that they will cover fault-prone units of code.
{"title":"Supervised Tie Breaking in Test Case Prioritization","authors":"Sepehr Eghbali, Vinit Kudva, G. Rothermel, L. Tahvildari","doi":"10.1109/ICSE-Companion.2019.00095","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00095","url":null,"abstract":"Test case prioritization reorders sequences of test cases with the aim of increasing the rate at which faults can be detected. Most existing prioritization techniques employ coverage information gathered on previous test case executions to rank test cases. Existing studies in the literature, however, show that there is a high chance that \"ties\" occur during the prioritization procedure when using coverage-based techniques; that is, there is a high chance that cases will occur in which two or more candidate test cases have identical code coverage behaviors. To break such ties, most techniques resort to random re-ordering of test cases, which can degrade the rate of fault detection. In this work, we use an ensemble of defect prediction models to guide prioritization techniques towards breaking such ties by re-ordering test cases in terms of the likelihood that they will cover fault-prone units of code.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"584 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":"116546485","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.00074
Giovanni Viviani
A software system's design determines many of its properties. An understanding of design is needed to maintain system properties as changes to the system are made. When developers lose track of the overall design, the system may not conform to its intended properties. I hypothesize that it is possible to solve the problems of design evaporation and erosion by recovering design information from written developer discussions and by leveraging the recovered information to help developers make better decisions. As part of investigating this hypothesis, I have built an automated classifier that is able to locate design information in discussions, at the paragraph level, by learning from manual annotations of discussions extracted from open source pull requests. I next plan to extract and represent the design information from the identified paragraphs and to show the usefulness of the information by creating tools to help notify developers of design information relevant to a task at hand.
{"title":"Finding and Using Design Information in Discussions","authors":"Giovanni Viviani","doi":"10.1109/ICSE-Companion.2019.00074","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00074","url":null,"abstract":"A software system's design determines many of its properties. An understanding of design is needed to maintain system properties as changes to the system are made. When developers lose track of the overall design, the system may not conform to its intended properties. I hypothesize that it is possible to solve the problems of design evaporation and erosion by recovering design information from written developer discussions and by leveraging the recovered information to help developers make better decisions. As part of investigating this hypothesis, I have built an automated classifier that is able to locate design information in discussions, at the paragraph level, by learning from manual annotations of discussions extracted from open source pull requests. I next plan to extract and represent the design information from the identified paragraphs and to show the usefulness of the information by creating tools to help notify developers of design information relevant to a task at hand.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"46 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":"114454216","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.00054
Nghi D. Q. Bui
Programmers often need to migrate programs from one language or platform to another in order to implement functionality, instead of rewriting the code from scratch. However, most techniques proposed to identify API mappings across languages and facilitate automated program translation require manually curated parallel corpora that contain already mapped API seeds or functionally-equivalent code using the APIs in two different languages so that the techniques can have an anchor to map APIs. To alleviate the need of curating parallel data and to generalize the applicability of program translation techniques, we develop a new automated approach for identifying API mappings across languages based on the idea of unsupervised domain adaption via Generative Adversarial Network (GAN) and an additional refinement procedure that can transform two vector spaces to align the API vectors in the two spaces without the need of manually provided anchors. We show that our approach can identify API mappings more accurately than Api2Api without the need of curated parallel seeds
{"title":"Towards Zero Knowledge Learning for Cross Language API Mappings","authors":"Nghi D. Q. Bui","doi":"10.1109/ICSE-Companion.2019.00054","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00054","url":null,"abstract":"Programmers often need to migrate programs from one language or platform to another in order to implement functionality, instead of rewriting the code from scratch. However, most techniques proposed to identify API mappings across languages and facilitate automated program translation require manually curated parallel corpora that contain already mapped API seeds or functionally-equivalent code using the APIs in two different languages so that the techniques can have an anchor to map APIs. To alleviate the need of curating parallel data and to generalize the applicability of program translation techniques, we develop a new automated approach for identifying API mappings across languages based on the idea of unsupervised domain adaption via Generative Adversarial Network (GAN) and an additional refinement procedure that can transform two vector spaces to align the API vectors in the two spaces without the need of manually provided anchors. We show that our approach can identify API mappings more accurately than Api2Api without the need of curated parallel seeds","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"160 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":"122969114","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.00119
Alessio Gambi, Tri Huynh, G. Fraser
Autonomous driving carries the promise to drastically reduce the number of car accidents; however, recently reported fatal crashes involving self-driving cars show this important goal is not yet achieved, and call for better testing of the software controlling self-driving cars. To better test self-driving car software, we propose to specifically test critical scenarios. Since these are difficult to test in field operation, we create simulations of critical situations. These simulations are automatically derived from natural language police reports of actual car crashes, which are available in historical datasets. Our initial evaluation shows that we can generate accurate simulations in a matter of minutes.
{"title":"Automatically Reconstructing Car Crashes from Police Reports for Testing Self-Driving Cars","authors":"Alessio Gambi, Tri Huynh, G. Fraser","doi":"10.1109/ICSE-Companion.2019.00119","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00119","url":null,"abstract":"Autonomous driving carries the promise to drastically reduce the number of car accidents; however, recently reported fatal crashes involving self-driving cars show this important goal is not yet achieved, and call for better testing of the software controlling self-driving cars. To better test self-driving car software, we propose to specifically test critical scenarios. Since these are difficult to test in field operation, we create simulations of critical situations. These simulations are automatically derived from natural language police reports of actual car crashes, which are available in historical datasets. Our initial evaluation shows that we can generate accurate simulations in a matter of minutes.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"11 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":"124383651","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.00093
Thomas Bach, Ralf Pannemans, J. Häussler, A. Andrzejak
Compared to system tests, unit tests execute faster and allow more precise fault localisation. Hence, it can be beneficial to automatically extract unit tests and displace associated system tests. However, the extraction process may encounter challenges such as the identification of relevant test objectives, scalability issues, and future maintainability of serialized state. % To address these challenges, we exploit time travel debugging for efficient and accurate reconstruction of object states and use differential analysis of code coverage data. This allows us to extract code-only unit tests with a feasible overhead. The extracted unit tests mimic relevant parts of the system tests and, by displacing the latter in early testing stages, save resources. Our preliminary evaluation indicates large potentials for test cost reduction and high practical acceptance.
{"title":"Dynamic Unit Test Extraction Via Time Travel Debugging for Test Cost Reduction","authors":"Thomas Bach, Ralf Pannemans, J. Häussler, A. Andrzejak","doi":"10.1109/ICSE-Companion.2019.00093","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00093","url":null,"abstract":"Compared to system tests, unit tests execute faster and allow more precise fault localisation. Hence, it can be beneficial to automatically extract unit tests and displace associated system tests. However, the extraction process may encounter challenges such as the identification of relevant test objectives, scalability issues, and future maintainability of serialized state. % To address these challenges, we exploit time travel debugging for efficient and accurate reconstruction of object states and use differential analysis of code coverage data. This allows us to extract code-only unit tests with a feasible overhead. The extracted unit tests mimic relevant parts of the system tests and, by displacing the latter in early testing stages, save resources. Our preliminary evaluation indicates large potentials for test cost reduction and high practical acceptance.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"31 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":"133992535","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.00039
M. Nassif, Christoph Treude, M. Robillard
Witt is a tool that systematically and automatically categorizes software technologies using original information extraction algorithms applied to Stack Overflow and Wikipedia. Witt takes as input a term, such as "django", and returns one or more categories that describe it (e.g., "framework"), along with attributes that further qualify it (e.g., "web-application"). Our comparative evaluation of Witt against six independent taxonomy tools showed that, when applied to software terms, Witt has better coverage than alternative solutions, without a corresponding degradation in the number of spurious results. The information extracted by Witt is available through the Witt Web Application, which allows users to query and explore Witt's categorization of software technologies by both obtaining the category for a term, and all the terms in a given category. On-line Portal: https://cs.mcgill.ca/~swevo/witt-web Video: https://www.youtube.com/watch?v=tPsp1M4Ua3w
Witt是一个系统自动分类软件技术的工具,使用应用于Stack Overflow和Wikipedia的原始信息提取算法。Witt输入一个词,比如“django”,然后返回一个或多个描述它的类别(比如“框架”),以及进一步限定它的属性(比如“web-application”)。我们对Witt与六个独立分类工具的比较评估表明,当应用于软件术语时,Witt比替代解决方案具有更好的覆盖率,而没有相应的虚假结果数量下降。Witt提取的信息可通过Witt Web Application获得,该应用程序允许用户通过获取术语的类别和给定类别中的所有术语来查询和探索Witt对软件技术的分类。在线门户:https://cs.mcgill.ca/~swevo/witt-web视频:https://www.youtube.com/watch?v=tPsp1M4Ua3w
{"title":"Witt: Querying Technology Terms Based on Automated Classification","authors":"M. Nassif, Christoph Treude, M. Robillard","doi":"10.1109/ICSE-Companion.2019.00039","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00039","url":null,"abstract":"Witt is a tool that systematically and automatically categorizes software technologies using original information extraction algorithms applied to Stack Overflow and Wikipedia. Witt takes as input a term, such as \"django\", and returns one or more categories that describe it (e.g., \"framework\"), along with attributes that further qualify it (e.g., \"web-application\"). Our comparative evaluation of Witt against six independent taxonomy tools showed that, when applied to software terms, Witt has better coverage than alternative solutions, without a corresponding degradation in the number of spurious results. The information extracted by Witt is available through the Witt Web Application, which allows users to query and explore Witt's categorization of software technologies by both obtaining the category for a term, and all the terms in a given category. On-line Portal: https://cs.mcgill.ca/~swevo/witt-web Video: https://www.youtube.com/watch?v=tPsp1M4Ua3w","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"253 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":"134091512","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.00068
Zhiyu Fan
With the rapidly growing scale of modern software, the reliability of software systems has become essential. To ease the developers' pressure of writing unit tests manually, test generation tools such as EvoSuite and Randoop were proposed. Although these approaches have been shown to be able to automatically generate tests for achieving high coverage, the generated tests may be ineffective in detecting real faults. Particularly, these automatically generated tests may suffer from several problems (we call them problematic tests): (1) incorrect oracle. (2) unexpected exception/error. (3) flaky test. We present a comprehensive study of EvoSuite in Defects4j, and performed a detailed analysis of the reasons behind these automatically generated problematic tests. Our analysis identifies 528 problematic tests: 208 (39.4%) of them are caused by incorrect oracle, 319 (60.4%) are caused by unexpected exception/error, and one flaky test.
{"title":"A Systematic Evaluation of Problematic Tests Generated by EvoSuite","authors":"Zhiyu Fan","doi":"10.1109/ICSE-Companion.2019.00068","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00068","url":null,"abstract":"With the rapidly growing scale of modern software, the reliability of software systems has become essential. To ease the developers' pressure of writing unit tests manually, test generation tools such as EvoSuite and Randoop were proposed. Although these approaches have been shown to be able to automatically generate tests for achieving high coverage, the generated tests may be ineffective in detecting real faults. Particularly, these automatically generated tests may suffer from several problems (we call them problematic tests): (1) incorrect oracle. (2) unexpected exception/error. (3) flaky test. We present a comprehensive study of EvoSuite in Defects4j, and performed a detailed analysis of the reasons behind these automatically generated problematic tests. Our analysis identifies 528 problematic tests: 208 (39.4%) of them are caused by incorrect oracle, 319 (60.4%) are caused by unexpected exception/error, and one flaky test.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"7 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":"134374615","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.00060
Xiaofei Ge
GUI design is crucial to mobile apps. In the early stages of mobile app development, having access to visually similar apps can help designers and programmers gain inspiration for revising their designs or even reuse existing GUI code. We propose an intuitive sketch modelling language to draw GUI sketches, and a deep learning based method to search for visually similar apps according to the sketches. Preliminary results show the potential of our approach.
{"title":"Android GUI Search Using Hand-Drawn Sketches","authors":"Xiaofei Ge","doi":"10.1109/ICSE-Companion.2019.00060","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00060","url":null,"abstract":"GUI design is crucial to mobile apps. In the early stages of mobile app development, having access to visually similar apps can help designers and programmers gain inspiration for revising their designs or even reuse existing GUI code. We propose an intuitive sketch modelling language to draw GUI sketches, and a deep learning based method to search for visually similar apps according to the sketches. Preliminary results show the potential of our approach.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"190 6 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":"131683316","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.00108
Michael Leisner, Philipp Brune
While cloud-and web-based Integrated Development Environments (IDE) are used in practice and education for some time, these are mainly intended for classical web development. Support for enterprise platforms such as Java Enterprise Edition (EE) is typically lacking. However, in higher education, web-based cloud IDE are particularly useful in software development courses for non-computer science major students, since they could help to overcome the participants' limited IT skills. Thus, a respective easy-to-use web IDE is required. Therefore, in this paper a software platform for a web-based cloud IDE for educational purposes is proposed and evaluated, which in particular supports Java EE and is suitable for non-computer science majors. The platform was evaluated in a classroom experiment. The results indicate that it is useful and beneficial for the students, allowing the lecturer and the students to focus more on the actual learning objectives.
{"title":"Good-Bye Localhost: A Cloud-Based Web IDE for Teaching Java EE Web Development to Non-Computer Science Majors","authors":"Michael Leisner, Philipp Brune","doi":"10.1109/ICSE-Companion.2019.00108","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00108","url":null,"abstract":"While cloud-and web-based Integrated Development Environments (IDE) are used in practice and education for some time, these are mainly intended for classical web development. Support for enterprise platforms such as Java Enterprise Edition (EE) is typically lacking. However, in higher education, web-based cloud IDE are particularly useful in software development courses for non-computer science major students, since they could help to overcome the participants' limited IT skills. Thus, a respective easy-to-use web IDE is required. Therefore, in this paper a software platform for a web-based cloud IDE for educational purposes is proposed and evaluated, which in particular supports Java EE and is suitable for non-computer science majors. The platform was evaluated in a classroom experiment. The results indicate that it is useful and beneficial for the students, allowing the lecturer and the students to focus more on the actual learning objectives.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"70 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":"115802196","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}