Jianwen Li, G. Pu, Zheng Wang, Yuxiang Chen, Liyun Zhang, Yanxia Qi, B. Gu
{"title":"An Approach to Requirement Analysis for Periodic Control Systems","authors":"Jianwen Li, G. Pu, Zheng Wang, Yuxiang Chen, Liyun Zhang, Yanxia Qi, B. Gu","doi":"10.1109/SEW.2012.20","DOIUrl":"https://doi.org/10.1109/SEW.2012.20","url":null,"abstract":"This paper proposes a requirement analysis approach to periodic control systems that are widely used as one of the real time systems. By regulating the initial requirement documents with key words in natural language, we compile the regulated requirement documents into an intermediate model specified by SPARDL language with formal syntax and semantics. To make the requirement executable, a prototype generation technique is proposed to simulate the system behaviors. To analyze the dataflow relations among modules among the same mode or different modes, we introduce module-level and mode-level dataflow analysis techniques to help system engineers to uncover the potential affections on any two modules. The dataflow analysis techniques are useful especially for module reuse when a new version of the system is developed. We have applied the developed tool based on our approach to the Moon-Exploration Spacecraft Project from Beijing Institute of Control Engineering, and the preliminary experiments are encouraging. We have found both the ambiguity and the inconsistency cases in the requirement documents from the project.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131453495","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":"Self-Definition for Software Development","authors":"B. Wilks, P. Bailes","doi":"10.1109/SEW.2012.12","DOIUrl":"https://doi.org/10.1109/SEW.2012.12","url":null,"abstract":"Satisfactory communication between developers and stake holders during system development is important to ensure satisfactory outcomes for those investing in the system. Unfortunately, communication is hampered when the two parties do not speak in the same language. Here, we identify and advocate the use of self-definition to alleviate some of these problems in certain types of systems where a formal or semiformal language is provided by the system for the user. Selfdefinition will be defined as describing the user's system in the language intended for use by the user. This will require effort by the developer to use the user's language but we will hypothesise that the systems so specified have advantages of otherwise specified systems, for both the developer and the user. To support our hypotheses we will draw on well-known examples of what we call “self-definition” from mathematics, computer science and other areas.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"6 9","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131805206","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}
A. Vetrò, N. Zazworka, F. Shull, C. Seaman, Michele A. Shaw
{"title":"Investigating Automatic Static Analysis Results to Identify Quality Problems: An Inductive Study","authors":"A. Vetrò, N. Zazworka, F. Shull, C. Seaman, Michele A. Shaw","doi":"10.1109/SEW.2012.9","DOIUrl":"https://doi.org/10.1109/SEW.2012.9","url":null,"abstract":"Background: Automatic static analysis (ASA) tools examine source code to discover “issues”, i.e. code patterns that are symptoms of bad programming practices and that can lead to defective behavior. Studies in the literature have shown that these tools find defects earlier than other verification activities, but they produce a substantial number of false positive warnings. For this reason, an alternative approach is to use the set of ASA issues to identify defect prone files and components rather than focusing on the individual issues. Aim: We conducted an exploratory study to investigate whether ASA issues can be used as early indicators of faulty files and components and, for the first time, whether they point to a decay of specific software quality attributes, such as maintainability or functionality. Our aim is to understand the critical parameters and feasibility of such an approach to feed into future research on more specific quality and defect prediction models. Method: We analyzed an industrial C# web application using the Resharper ASA tool and explored if significant correlations exist in such a data set. Results: We found promising results when predicting defectprone files. A set of specific Resharper categories are better indicators of faulty files than common software metrics or the collection of issues of all issue categories, and these categories correlate to different software quality attributes. Conclusions: Our advice for future research is to perform analysis on file rather component level and to evaluate the generalizability of categories. We also recommend using larger datasets as we learned that data sparseness can lead to challenges in the proposed analysis process.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129027355","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":"Model-Driven Development of Secure Service Applications","authors":"M. Borek, Nina Moebius, K. Stenzel, W. Reif","doi":"10.1109/SEW.2012.13","DOIUrl":"https://doi.org/10.1109/SEW.2012.13","url":null,"abstract":"The development of a secure service application is a difficult task and designed protocols are very error-prone. To develop a secure SOA application, application-independent protocols (e.g. TLS or Web service security protocols) are used. These protocols guarantee standard security properties like integrity or confidentiality but the critical properties are applicationspecific (e.g. “a ticket can not be used twice”). For that, security has to be integrated in the whole development process and application-specific security properties have to be guaranteed. This paper illustrates the modeling of a security-critical service application with UML. The modeling is part of an integrated software engineering approach that encompasses model-driven development. Using the approach, an application based on service-oriented architectures (SOA) is modeled with UML. From this model executable code as well as a formal specification to prove the security of the application is generated automatically. Our approach, called SecureMDD, supports the development of security-critical applications and integrates formal methods to guarantee the security of the system. The modeling guidelines are demonstrated with an online banking example.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130975700","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":"Partial Slices in Program Testing","authors":"Anupama Surendran, P. Samuel","doi":"10.1109/SEW.2012.15","DOIUrl":"https://doi.org/10.1109/SEW.2012.15","url":null,"abstract":"Program slicing is widely used as an aid in program analysis. In several cases, it is observed that the static slices contain a large number of program statements. Due to this increased size of the static slice, they are of little use in many practical applications. Moreover, the static slices may be less precise compared to dynamic slices. Partial slicing is suggested as a method for program testing in order to eliminate the disadvantages of static slicing. In partial slices, in addition to the static slicing criterion, the user has to provide the program point. Program point specifies the program statement up to which the static slicing is to be performed. The partial slices produced in this manner combines both static and program point information. This in turn is analyzed to verify the constraints and conditions in the slices to remove any obscurity in the program testing process. In this work we propose a partial slicing approach, which can be applied in program testing. An appealing aspect of this work is that, using partial slicing the whole program testing process may be made more direct and effective. Some illustrations which highlight the easiness of the proposed partial slicing are provided to affirm the significance of this work.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116131241","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}
Yanhong Huang, Yongxin Zhao, S. Qin, Guanhua He, J. Ferreira
{"title":"A Timed CSP Model for the Time-Triggered Language Giotto","authors":"Yanhong Huang, Yongxin Zhao, S. Qin, Guanhua He, J. Ferreira","doi":"10.1109/SEW.2012.18","DOIUrl":"https://doi.org/10.1109/SEW.2012.18","url":null,"abstract":"Giotto is a time-triggered embedded programming language which provides an abstract programming model for hard real-time applications. It effectively decouples the implementation from the design. A Giotto program focuses on the functionality and timing of periodic tasks. All the actions, e.g., task invocations, actuator updates, and mode switches, described in Giotto programs are triggered by real time. We take the views of the concerns of Giotto programs, including the reaction to the environment, the communication between tasks, the timing predictability, etc. Our goal is to simulate Giotto programs using a timed CSP-based model which can effectively express the concerns and can be used to verify safety properties. This paper is a first step that presents the timed CSP model for Giotto programs. We also give a case study to illustrate the utility of the timed CSP model. Based on the existing research for CSP with time, we believe that our model can support to analyze and verify safety properties of Giotto programs.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116511336","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":"Dogfooding the Formal Semantics of mCRL2","authors":"F. Stappers, M. Reniers, Sven Weber, J. F. Groote","doi":"10.1109/SEW.2012.16","DOIUrl":"https://doi.org/10.1109/SEW.2012.16","url":null,"abstract":"The mCRL2 language is a formal specification language that is used to specify, model, analyze and verify behavioral properties for distributed systems and protocols. The semantics of the mCRL2 language is defined formally using Structural Operational Semantics (SOS). In [32] we propose an approach that takes the SOS of a formal language, along with a concrete model, that serves as an initialization, and transforms it to a Linear Process Specification (LPS). In this paper we extend the approach and show that it can be applied to a formal language that in practice is used to specify and model discussed systems. Hence, we take mCRL2's own operational semantics and transform it into an mCRL2 specification. In essence, this means that we are feeding the mCRL2 toolset its own formal language definition. This semantic dogfooding approach validates the implemented behavior for the mCRL2 language against its formal definition. By performing this exercise we revealed gaps between the defined and implemented semantics. These gaps have subsequently been resolved.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128987328","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":"Towards a Safety-Oriented Process Line for Enabling Reuse in Safety Critical Systems Development and Certification","authors":"B. Gallina, Irfan Šljivo, Omar Jaradat","doi":"10.1109/SEW.2012.22","DOIUrl":"https://doi.org/10.1109/SEW.2012.22","url":null,"abstract":"Safety standards define development processes by indicating the set of partially ordered tasks that have to be executed to achieve acceptably safe systems. Process compliance constitutes a fundamental ingredient in safety argumentation for certification purposes. Certification is a very expensive, time-consuming and quality demanding activity. To increase quality and reduce time and cost, reuse-based approaches are being investigated. In this paper, we adopt process line approach in the framework of safety processes. This means that we treat a family of processes as a product line, and we identify commonalities and variabilities between them. The resulting information guides developers in reusing parts of the process, the system and safety case, e.g. which parts to make more generic, isolating changes in others to avoid ripple effects etc.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130857037","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":"Planning as Model Checking Tasks","authors":"Yi Li, Jing Sun, J. Dong, Yang Liu, Jun Sun","doi":"10.1109/SEW.2012.25","DOIUrl":"https://doi.org/10.1109/SEW.2012.25","url":null,"abstract":"Model checking provides a way to automatically verify hardware and software systems, whereas the goal of planning is to produce a sequence of actions that leads from the initial state to the desired goal states. Recently research indicates that there is a strong connection between model checking and planning problem solving. In this paper, we investigate the feasibility of using different model checking tools and techniques for solving classic planning problems. To achieve this, we carried out a number of experiments on different planning domains in order to compare the performance and capabilities of various tools. Our experimental results indicate that the performance of some model checkers is comparable to that of state-of-theart planners for certain categories of problems. In particular, a new planning module with specifically designed searching algorithm is implemented on top of the established model checking framework, Process Analysis Toolkit (PAT), to serve as a planning solution provider for upper layer applications. A case study on a public transportation management system has been developed to demonstrate the idea of using the PAT model checker as a planning service.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114343653","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}
P. Papadopoulos, H. Tianfield, D. Moffat, P. Barrie
{"title":"Multi-agent Self-Organising Service Composition - Demonstrating the Restrictions of Centralised Approach","authors":"P. Papadopoulos, H. Tianfield, D. Moffat, P. Barrie","doi":"10.1109/SEW.2012.28","DOIUrl":"https://doi.org/10.1109/SEW.2012.28","url":null,"abstract":"The loosely coupled, autonomous, network-oriented services provide the building block for the higher abstraction layer of business processes. Service compositions and run-time adaptation according to change in conditions is key to the success of system integration. This work introduces self-organisation as an alternative to pre-programmed techniques (automatic service composition), which usually suffer scalability and performance issues in highly distributed complex systems. The prototype, using JADE platform, is capable of self-organising service composition of a highly modular system and illustrates a service input/output matching algorithm on a case study of the electricity distributed generation domain.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127057419","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}