{"title":"Using MC/DC as a black-box testing technique","authors":"S. Vilkomir, John Baptista, G. Das","doi":"10.1109/STC.2017.8234460","DOIUrl":"https://doi.org/10.1109/STC.2017.8234460","url":null,"abstract":"In the early 1990s, the Modified Condition/Decision Coverage (MC/DC) criterion was suggested as a structural white-box testing approach, but it can also be used for black-box specification-based testing. Practical application of MC/DC for specification-based testing has its own unique features and sometimes is quite different from code-based applications. However, MC/DC as a black-box approach has not been studied sufficiently, and thus, the application of MC/DC for specifications coverage was the main research problem considered in this paper. The goal of this study was to analyze MC/DC as a black-box technique, investigate factors that distinguish the black- and white-box applications of this approach, and provide proper definitions and rules to evaluate the MC/DC level during black-box testing.","PeriodicalId":303527,"journal":{"name":"2017 IEEE 28th Annual Software Technology Conference (STC)","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128411583","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A prototype tool for generating and executing test cases from UML-based interface behavior descriptions","authors":"Alan Thomas, J. Kimball","doi":"10.1109/STC.2017.8234458","DOIUrl":"https://doi.org/10.1109/STC.2017.8234458","url":null,"abstract":"We present the Configurable Advanced Verification of Software (CAVS), a prototype tool that automatically generates an efficient set of test cases from descriptions of required interface behavior based on Unified Modeling Language (UML) artifacts. The input to CAVS consists of enhanced UML activity diagrams that define the required behavior of a software component as observed on its interfaces. CAVS automatically analyzes activity diagrams and uses the choice-relation framework to partition the input space. Partitions are selected to define a reduced set of abstract test cases by calculating a covering array. Concrete test cases are generated by using boundary value analysis to select specific values for each partition in the covering array. The test cases are then executed using cloud computing technologies. Lastly, expected outputs are automatically verified.","PeriodicalId":303527,"journal":{"name":"2017 IEEE 28th Annual Software Technology Conference (STC)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129021721","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":"Building the Network of Things (NoT) graph","authors":"G. Hurlburt","doi":"10.1109/STC.2017.8234454","DOIUrl":"https://doi.org/10.1109/STC.2017.8234454","url":null,"abstract":"The National Institute of Standards and Technology Network of Things (NoT) concept offers a framework to build a living NoT architecture using a graph theoretic approach. This architectural model captures system state dynamics in a way NoT typically supported in static architectural frameworks.","PeriodicalId":303527,"journal":{"name":"2017 IEEE 28th Annual Software Technology Conference (STC)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128059366","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":"Agile and other trends in software engineering","authors":"M. Raunak, D. Binkley","doi":"10.1109/STC.2017.8234457","DOIUrl":"https://doi.org/10.1109/STC.2017.8234457","url":null,"abstract":"Successfully developing and delivering multi-year, multi-person software projects remains a highly challenging task. Software engineering researchers have spent considerable energy investigating ways to improve this situation by developing various processes, techniques, and tools over the last five decades. Understanding trends in the current state of the practice is crucial to identifying the challenges that software engineers face today, the changes their organizations are tackling, and how these challenges and changes impact industrial software production. This paper reports survey results from 99 software engineering developers and managers regarding their choice of process, technique, and tools, as well as their impressions as to the contributing factors towards project success or failure. In particular, the paper includes a focus on trends in adoption of agile practices. The data reinforces some known challenge areas such as the need for more effective communication. It also shows that there is a clear trend towards agile adoption across organizations, albeit traditional processes are still firmly entrenched in some areas. Scrum is the most common agile process in use, but it often gets adapted differently by different organizations, each according to their need. On the other hand, extreme programming was found to be almost non-existent in practice. The data also reveals that inadequate or unclear requirements are still the major problem that dogs the software industry. Similarly, a lack of rigorous time and cost estimation is commonplace. Together these two alone may explain the staggeringly high rate of software failures and delays. Finally, tool usage in industry varies quite widely; but there are certain areas (such as version control and unit testing) witnessing almost universal tool adoption.","PeriodicalId":303527,"journal":{"name":"2017 IEEE 28th Annual Software Technology Conference (STC)","volume":"14 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131860265","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":"Cryptography classes in bugs framework (BF): Encryption bugs (ENC), verification bugs (VRF), and key management bugs (KMN)","authors":"Irena Bojanova, P. Black, Y. Yesha","doi":"10.1109/STC.2017.8234453","DOIUrl":"https://doi.org/10.1109/STC.2017.8234453","url":null,"abstract":"Accurate, precise, and unambiguous definitions of software weaknesses (bugs) and clear descriptions of software vulnerabilities are vital for building the foundations of cybersecurity. The Bugs Framework (BF) comprises rigorous definitions and (static) attributes of bug classes, along with their related dynamic properties, such as proximate, secondary and tertiary causes, consequences, and sites. This paper presents an overview of previously developed BF classes and the new cryptography related classes: Encryption Bugs (ENC), Verification Bugs (VRF), and Key Management Bugs (KMN). We analyze corresponding vulnerabilities and provide their clear descriptions by applying the BF taxonomy. We also discuss the lessons learned and share our plans for expanding BF.","PeriodicalId":303527,"journal":{"name":"2017 IEEE 28th Annual Software Technology Conference (STC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125992422","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}