Pub Date : 2012-06-05DOI: 10.1109/RAISE.2012.6227963
I. Keivanloo, J. Rilling
In this paper we discuss a new application of Semantic Web and Artificial Intelligence in software analysis research. We show on a concrete example - clone detection for object-oriented source code that transitivity closure computation can provide added value to the clone detection community. Our novel approach models the domain of discourse knowledge as a mixture of source code patterns and inheritance trees represented as Directed Acyclic Graphs. Our approach promotes the use of Semantic Web and inference engines in source code analysis. More specifically we take advantage of the Semantic Web and its support for knowledge modeling and transitive closure computation to detect semantic source code clones not detected by traditional detection tools.
{"title":"Clone detection meets Semantic Web-based transitive closure computation","authors":"I. Keivanloo, J. Rilling","doi":"10.1109/RAISE.2012.6227963","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227963","url":null,"abstract":"In this paper we discuss a new application of Semantic Web and Artificial Intelligence in software analysis research. We show on a concrete example - clone detection for object-oriented source code that transitivity closure computation can provide added value to the clone detection community. Our novel approach models the domain of discourse knowledge as a mixture of source code patterns and inheritance trees represented as Directed Acyclic Graphs. Our approach promotes the use of Semantic Web and inference engines in source code analysis. More specifically we take advantage of the Semantic Web and its support for knowledge modeling and transitive closure computation to detect semantic source code clones not detected by traditional detection tools.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"45 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124829835","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 : 2012-06-05DOI: 10.1109/RAISE.2012.6227971
Daniel Rodríguez, I. Herraiz, R. Harrison
In the last decade, a large number of software repositories have been created for different purposes. In this paper we present a survey of the publicly available repositories and classify the most common ones as well as discussing the problems faced by researchers when applying machine learning or statistical techniques to them.
{"title":"On software engineering repositories and their open problems","authors":"Daniel Rodríguez, I. Herraiz, R. Harrison","doi":"10.1109/RAISE.2012.6227971","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227971","url":null,"abstract":"In the last decade, a large number of software repositories have been created for different purposes. In this paper we present a survey of the publicly available repositories and classify the most common ones as well as discussing the problems faced by researchers when applying machine learning or statistical techniques to them.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"292 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122409011","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 : 2012-06-05DOI: 10.1109/RAISE.2012.6227964
S. Moisan
We propose to use Artificial Intelligence techniques to monitor and control complex processing chains of software components. We consider software systems that run in an evolving environment and thus may require adaptation at run time. Our approach relies on knowledge representations of both structural and dynamic aspects of components and processing chains. The paper concentrates more precisely on run time adaptation to cope with context changes. Run time policies are expressed by means of inference rules. At run time an inference engine uses these rules to orchestrate the component chain, in particular to achieve run time adaptations, such as component parameter tuning or re-assembly of the processing chain. We describe the general evaluation-repair mechanism which involves to evaluate environment changes and execution results and then to trigger the suitable reconfigurations.
{"title":"Intelligent monitoring of software components","authors":"S. Moisan","doi":"10.1109/RAISE.2012.6227964","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227964","url":null,"abstract":"We propose to use Artificial Intelligence techniques to monitor and control complex processing chains of software components. We consider software systems that run in an evolving environment and thus may require adaptation at run time. Our approach relies on knowledge representations of both structural and dynamic aspects of components and processing chains. The paper concentrates more precisely on run time adaptation to cope with context changes. Run time policies are expressed by means of inference rules. At run time an inference engine uses these rules to orchestrate the component chain, in particular to achieve run time adaptations, such as component parameter tuning or re-assembly of the processing chain. We describe the general evaluation-repair mechanism which involves to evaluate environment changes and execution results and then to trigger the suitable reconfigurations.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"112 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131283720","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 : 2012-06-05DOI: 10.1109/RAISE.2012.6227966
Ines Coimbra Morgado, A. C. Paiva, J. Faria, Rui Camacho
This paper proposes a new approach to reduce the effort of building formal models representative of the structure and behaviour of Graphical User Interfaces (GUI). The main goal is to automatically extract the GUI model with a dynamic reverse engineering process, consisting in an exploration phase, that extracts information by interacting with the GUI, and in a model generation phase that, making use of machine learning techniques, uses the extracted information of the first step to generate a state-machine model of the GUI, including guard conditions to remove ambiguity in transitions.
{"title":"GUI reverse engineering with machine learning","authors":"Ines Coimbra Morgado, A. C. Paiva, J. Faria, Rui Camacho","doi":"10.1109/RAISE.2012.6227966","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227966","url":null,"abstract":"This paper proposes a new approach to reduce the effort of building formal models representative of the structure and behaviour of Graphical User Interfaces (GUI). The main goal is to automatically extract the GUI model with a dynamic reverse engineering process, consisting in an exploration phase, that extracts information by interacting with the GUI, and in a model generation phase that, making use of machine learning techniques, uses the extracted information of the first step to generate a state-machine model of the GUI, including guard conditions to remove ambiguity in transitions.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133779905","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 : 2012-06-05DOI: 10.1109/RAISE.2012.6227967
Tulio de Souza Alcantara, J. Denzinger, Jennifer Ferreira, F. Maurer
This paper presents an approach to help designers create their own application-specific gestures and evaluate them in user-studies based on low fidelity prototypes of the application they are designing. In order to learn custom gestures, we developed a machine learning tool that uses an anti-unification algorithm to learn based on samples of the gesture provided by the designer.
{"title":"Learning gestures for interacting with low-fidelity prototypes","authors":"Tulio de Souza Alcantara, J. Denzinger, Jennifer Ferreira, F. Maurer","doi":"10.1109/RAISE.2012.6227967","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227967","url":null,"abstract":"This paper presents an approach to help designers create their own application-specific gestures and evaluate them in user-studies based on low fidelity prototypes of the application they are designing. In order to learn custom gestures, we developed a machine learning tool that uses an anti-unification algorithm to learn based on samples of the gesture provided by the designer.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129327976","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 : 2012-06-05DOI: 10.1109/RAISE.2012.6227970
J. Cordeiro, B. Antunes, Paulo Gomes
During the software development process, developers are often faced with problem solving situations that motivate the use of the Web to search for information. However, there is a gap between the IDE and the Web, requiring the developers to spend significant time searching for relevant information and navigating through web pages in a Web browser. We propose a tool that aim to aid developers overcoming the learning barriers that exist when working with technologies that they do not master, facilitating the access to question/answer web resources through a context-based search interface, integrated in the IDE. We present an example of use, to better understand our approach.
{"title":"Context-based search to overcome learning barriers in software development","authors":"J. Cordeiro, B. Antunes, Paulo Gomes","doi":"10.1109/RAISE.2012.6227970","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227970","url":null,"abstract":"During the software development process, developers are often faced with problem solving situations that motivate the use of the Web to search for information. However, there is a gap between the IDE and the Web, requiring the developers to spend significant time searching for relevant information and navigating through web pages in a Web browser. We propose a tool that aim to aid developers overcoming the learning barriers that exist when working with technologies that they do not master, facilitating the access to question/answer web resources through a context-based search interface, integrated in the IDE. We present an example of use, to better understand our approach.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"423 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122797727","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 : 2012-06-05DOI: 10.1109/RAISE.2012.6227965
Mathias Landhäußer, Sven J. Körner, W. Tichy
Textual specifications and domain models change during development and need to be kept consistent. However, in practice the cost of maintaining consistency is too high. Stakeholders need to be informed about model changes in natural language, software architects need to see the impact of specification changes on their models. Our Requirements Engineering Feedback System (REFS) automates the process of keeping specification and models consistent when the models change. Also, it can assess the impact of specification changes.
{"title":"Synchronizing domain models with natural language specifications","authors":"Mathias Landhäußer, Sven J. Körner, W. Tichy","doi":"10.1109/RAISE.2012.6227965","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227965","url":null,"abstract":"Textual specifications and domain models change during development and need to be kept consistent. However, in practice the cost of maintaining consistency is too high. Stakeholders need to be informed about model changes in natural language, software architects need to see the impact of specification changes on their models. Our Requirements Engineering Feedback System (REFS) automates the process of keeping specification and models consistent when the models change. Also, it can assess the impact of specification changes.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"109 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115563428","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 : 2012-06-05DOI: 10.1109/RAISE.2012.6227962
M. Iliev, Bilal Karasneh, M. Chaudron, E. Essenius
Assessing severity of software defects is essential for prioritizing fixing activities as well as for assessing whether the quality level of a software system is good enough for release. In filling out defect reports, developers routinely fill out default values for the severity levels. The purpose of this research is to automate the prediction of defect severity. Our aim is to research how this severity prediction can be achieved through reasoning about the requirements and the design of a system using ontologies. In this paper we outline our approach based on an industrial case study.
{"title":"Automated prediction of defect severity based on codifying design knowledge using ontologies","authors":"M. Iliev, Bilal Karasneh, M. Chaudron, E. Essenius","doi":"10.1109/RAISE.2012.6227962","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227962","url":null,"abstract":"Assessing severity of software defects is essential for prioritizing fixing activities as well as for assessing whether the quality level of a software system is good enough for release. In filling out defect reports, developers routinely fill out default values for the severity levels. The purpose of this research is to automate the prediction of defect severity. Our aim is to research how this severity prediction can be achieved through reasoning about the requirements and the design of a system using ontologies. In this paper we outline our approach based on an industrial case study.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130120733","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 : 2012-06-05DOI: 10.1109/RAISE.2012.6227969
Kevin Jalbert, J. S. Bradbury
Mutation testing has traditionally been used to evaluate the effectiveness of test suites and provide confidence in the testing process. Mutation testing involves the creation of many versions of a program each with a single syntactic fault. A test suite is evaluated against these program versions (mutants) in order to determine the percentage of mutants a test suite is able to identify (mutation score). A major drawback of mutation testing is that even a small program may yield thousands of mutants and can potentially make the process cost prohibitive. To improve the performance and reduce the cost of mutation testing, we propose a machine learning approach to predict mutation score based on a combination of source code and test suite metrics.
{"title":"Predicting mutation score using source code and test suite metrics","authors":"Kevin Jalbert, J. S. Bradbury","doi":"10.1109/RAISE.2012.6227969","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227969","url":null,"abstract":"Mutation testing has traditionally been used to evaluate the effectiveness of test suites and provide confidence in the testing process. Mutation testing involves the creation of many versions of a program each with a single syntactic fault. A test suite is evaluated against these program versions (mutants) in order to determine the percentage of mutants a test suite is able to identify (mutation score). A major drawback of mutation testing is that even a small program may yield thousands of mutants and can potentially make the process cost prohibitive. To improve the performance and reduce the cost of mutation testing, we propose a machine learning approach to predict mutation score based on a combination of source code and test suite metrics.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128587778","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 : 2012-06-05DOI: 10.1109/RAISE.2012.6227968
D. Clifton, J. Gibbons, J. Davies, L. Tarassenko
Health informatics is a field in which the disciplines of software engineering and machine learning necessarily co-exist. This discussion paper considers the interaction of software engineering and machine learning, set within the context of health informatics, where the scale of clinical practice requires new engineering approaches from both disciplines. We introduce applications implemented in large on-going research programmes undertaken between the Departments of Engineering Science and Computer Science at Oxford University, the Oxford University Hospitals NHS Trust, and the Guy's and St Thomas' NHS Foundation Trust, London.
{"title":"Machine learning and software engineering in health informatics","authors":"D. Clifton, J. Gibbons, J. Davies, L. Tarassenko","doi":"10.1109/RAISE.2012.6227968","DOIUrl":"https://doi.org/10.1109/RAISE.2012.6227968","url":null,"abstract":"Health informatics is a field in which the disciplines of software engineering and machine learning necessarily co-exist. This discussion paper considers the interaction of software engineering and machine learning, set within the context of health informatics, where the scale of clinical practice requires new engineering approaches from both disciplines. We introduce applications implemented in large on-going research programmes undertaken between the Departments of Engineering Science and Computer Science at Oxford University, the Oxford University Hospitals NHS Trust, and the Guy's and St Thomas' NHS Foundation Trust, London.","PeriodicalId":114731,"journal":{"name":"2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126581147","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}