{"title":"Applying Formal Methods to Design of Migrator Component of Data Masking Software","authors":"Aniket Kulkarni","doi":"10.1145/3172871.3172885","DOIUrl":"https://doi.org/10.1145/3172871.3172885","url":null,"abstract":"Developing defect free design of software systems is an important problem. This is because of high cost incurred due to failure of incorrectly designed software. In this paper, we demonstrate development of software design by applying correct by construction semantics. We combine Symbolic Execution technique with Hoare Logic to develop defect free design of migrator component created for Data Masking Software of TCS. The basic functionality of migrator component is to migrate settings from the old DataMasker product to new DataPlus product. This requires development of correct mapping and processing of Intermediate Representations of these products. After migrating settings, we also validate the functionality of migrator component with minimal testing to ensure correctness of design. Thus, our work shows effectiveness of formal methods to develop high quality design of industry strength software.1","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"460 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125807221","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":"Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study","authors":"S. Tiwari, S. Rathore","doi":"10.1145/3172871.3172878","DOIUrl":"https://doi.org/10.1145/3172871.3172878","url":null,"abstract":"Coupling and Cohesion are two fundamental concepts that can be applied to design better modular object-oriented software. This study aims at reviewing existing research on coupling and cohesion metrics in order to identify the potential ones and needs for the future research. A systematic mapping study is presented to identify the popular coupling and cohesion metrics, and their applicability in practice. A total of 137 papers were found and classified into four different classes- evolution of coupling and cohesion metrics, research type, contribution, and context focus. Our study revealed that the significance of coupling and cohesion metrics in various software development activities has been advocated by various researchers. However, some issues such as the lack of availability of information about the contextual usages of these metrics and their multiple interpretations by different researchers need to be resolved to establish the practical use of these metrics.","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122269394","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}
Maninder Singh, Vaibhav Anu, G. Walia, Anurag Goswami
{"title":"Validating Requirements Reviews by Introducing Fault-Type Level Granularity: A Machine Learning Approach","authors":"Maninder Singh, Vaibhav Anu, G. Walia, Anurag Goswami","doi":"10.1145/3172871.3172880","DOIUrl":"https://doi.org/10.1145/3172871.3172880","url":null,"abstract":"Inspections are a proven approach for improving software requirements quality. Owing to the fact that inspectors report both faults and non-faults (i.e., false-positives) in their inspection reports, a major chunk of work falls on the person who is responsible for consolidating the reports received from multiple inspectors. We aim at automation of fault-consolidation step by using supervised machine learning algorithms that can effectively isolate faults from non-faults. Three different inspection studies were conducted in controlled environments to obtain real inspection data from inspectors belonging to both industry and from academic backgrounds. Next, we devised a methodology to separate faults from non-faults by first using ten individual classifiers from five different classification families to categorize different fault-types (e.g., omission, incorrectness, and inconsistencies). Based on the individual performance of classifiers for each fault-type, we created targeted ensembles that are suitable for identification of each fault-type. Our analysis showed that our selected ensemble classifiers were able to separate faults from non-faults with very high accuracy (as high as 85-89% for some fault-types), with a notable result being that in some cases, individual classifiers performed better than ensembles. In general, our approach can significantly reduce effort required to isolate faults from false-positives during the fault consolidation step of requirements inspections. Our approach also discusses the percentage possibility of correctly classifying each fault-type.","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"176 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132603511","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":"State-of-the-art Big Data Security Taxonomies","authors":"Madhan Kumar Srinivasan, P. Revathy","doi":"10.1145/3172871.3172886","DOIUrl":"https://doi.org/10.1145/3172871.3172886","url":null,"abstract":"Today's businesses accumulate an astonishing amount of digital data, which can be leveraged to unlock new sources of economic value and provide fresh insights into business trends. The real challenge in this process is the design of computing, storage infrastructure and algorithms needed to handle this \"Big Data\". Hence, organizations are looking at different ways in which they can make use of Big Data in their business. There's no doubt that the creation of a Hadoop-powered Data Lake can provide a robust foundation for a new generation of analytics and intuitive results. At the same time, it is also very necessary to consider security before launching or expanding a Hadoop initiative. As we move towards a stage where Hadoop is considered for real-time production scenarios rather than just experimentation levels, a major chunk of production data is normally sensitive, or subject to many industry regulations and governance controls. This paper analyzes the current security challenges in big data implementations based on state-of-the-art big data security taxonomies.","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129634717","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":"Change Vector Tracking in Emergent Design","authors":"Ranjith Tharayil","doi":"10.1145/3172871.3172888","DOIUrl":"https://doi.org/10.1145/3172871.3172888","url":null,"abstract":"Change Vector Tracking is a software engineering practice to achieve a high level of software design agility. This practice is iterative and reflective in nature and can be used to evaluate different design options with respect to the most important nonfunctional requirement, modifiability. Change in business requirements is the only constant in software development process and the key philosophy behind Change Vector Tracking is to identify and model this change as a vector and track it to make good refactoring decisions. The resulting software is less rigid and less fragile thus leading to lesser maintenance cost. This practice aids in Emergent design and is more suited for teams who have embraced Agile software development frameworks.","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123539941","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":"Feature Selection Techniques to Counter Class Imbalance Problem for Aging Related Bug Prediction: Aging Related Bug Prediction","authors":"L. Kumar, A. Sureka","doi":"10.1145/3172871.3172872","DOIUrl":"https://doi.org/10.1145/3172871.3172872","url":null,"abstract":"Aging-Related Bugs (ARBs) occur in long running systems due to error conditions caused because of accumulation of problems such as memory leakage or unreleased files and locks. Aging-Related Bugs are hard to discover during software testing and also challenging to replicate. Automatic identification and prediction of aging related fault-prone files and classes in an object oriented system can help the software quality assurance team to optimize their testing efforts. In this paper, we present a study on the application of static source code metrics and machine learning techniques to predict aging related bugs. We conduct a series of experiments on publicly available dataset from two large open-source software systems: Linux and MySQL. Class imbalance and high dimensionality are the two main technical challenges in building effective predictors for aging related bugs. We investigate the application of five different feature selection techniques (OneR, Information Gain, Gain Ratio, RELEIF and Symmetric Uncertainty) for dimensionality reduction and five different strategies (Random Under-sampling, Random Oversampling, SMOTE, SMOTEBoost and RUSBoost) to counter the effect of class imbalance in our proposed machine learning based solution approach. Experimental results reveal that the random under-sampling approach performs best followed by RUSBoost in-terms of the mean AUC metric. Statistical significance test demonstrates that there is a significant difference between the performance of the various feature selection techniques. Experimental results shows that Gain Ratio and RELEIF performs best in comparison to other strategies to address the class imbalance problem. We infer from the statistical significance test that there is no difference between the performances of the five different learning algorithms.","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130554362","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":"Actor-Based Methods, Concepts and Tools for Analysing Emergent Behaviour: An Introduction to a Model Based Approach","authors":"T. Clark, V. Kulkarni, Souvik Barat, B. Barn","doi":"10.1145/3172871.3180077","DOIUrl":"https://doi.org/10.1145/3172871.3180077","url":null,"abstract":"Effective organizational decision-making often requires deep understanding of various aspects of an organisation such as goals, structure, business-as-usual, operational processes etc. The large size of an organisation, its socio-technical characteristics, and fast business dynamics make this a challenging endeavor. This tutorial presents a model-based simulation approach to organisational decision-making. We introduce a new technology that supports the approach and illustrate how it is applied to real life problems using real world case studies.","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121025693","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":"Preliminary Causal Discovery Results with Software Effort Estimation Data","authors":"Anandi Hira, B. Boehm, R. Stoddard, M. Konrad","doi":"10.1145/3172871.3172876","DOIUrl":"https://doi.org/10.1145/3172871.3172876","url":null,"abstract":"Correlation does not imply causation. Though this is a well-known fact, most analyses depend on correlation as proof of relationships that are often treated as causal. Causal discovery, also referred to as causal model search, involves the application of statistical methods to identify causal relationships from conditional independences (and/or other statistical relationships) in the data. Though software cost estimation models use both domain knowledge and statistics, to date, there has yet to be a published report describing the evaluation of a software dataset using causal discovery. Two of the authors have previously used regression analysis to evaluate the effectiveness of the International Function Points User Group (IFPUG)'s and the Common Software Measurement International Consortium (COSMIC)'s functional size measurement methods for analyzing the Unified Code Count (UCC)1's dataset of maintenance tasks. Using the same dataset, the authors will report in this paper on what types of information causal discovery provides, and how they differ from correlation tests. This paper will introduce causal discovery to software engineering research, and its use in the future may impact how software effort models are built.","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125615513","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":"Software 4.0: 'How' of building 'Next-Gen' systems","authors":"Abhay Pendse, Haresh Amre","doi":"10.1145/3172871.3172890","DOIUrl":"https://doi.org/10.1145/3172871.3172890","url":null,"abstract":"Software-driven business models are shaping the business landscape in a big way. Unprecedented growth in technology has helped to create new generation 'Born-in-the-cloud' business models. 'Born-in-cloud' business models are built on NextGeneration (NextGen) systems. Development and deployment of NextGen systems need new set of components and techniques. Software 4.0 is an execution framework which brings new components together in a principled way to develop and deploy next generation systems.","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116250946","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}
Gollapudi V. R. J. Sai Prasad, S. Chimalakonda, Venkatesh Choppella
{"title":"Towards a Domain-Specific Language for the Renarration of Web Pages","authors":"Gollapudi V. R. J. Sai Prasad, S. Chimalakonda, Venkatesh Choppella","doi":"10.1145/3172871.3172873","DOIUrl":"https://doi.org/10.1145/3172871.3172873","url":null,"abstract":"We are interested in the problem of enabling transformation of existing, already published web pages. We call this Renarration of web content. In our earlier work, we had already established the role and importance of renarration for improving Web Accessibility. There are nearly a billion websites on the web, making transformation of pages a domain on its own. In this paper, we present the development of a Domain-Specific Language (DSL) for the purpose of web page transformation. We show how the design and implementation of our DSL is driven by our problem domain, its terminology and its unique requirements. We take up an existing online video-course delivery system, which has accessibility challenges, as a specific case to demonstrate our DSL. We end with insights and reflections for future work in both DSL and web page transformations.","PeriodicalId":199550,"journal":{"name":"Proceedings of the 11th Innovations in Software Engineering Conference","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128579262","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}