{"title":"Toward New Unit-Testing Techniques for Shared-Memory Concurrent Programs","authors":"S. Jongmans","doi":"10.1109/ICECCS.2019.00025","DOIUrl":"https://doi.org/10.1109/ICECCS.2019.00025","url":null,"abstract":"Following advances in hardware engineering (multi-core processors) and software engineering (agile practices), there is now a large demand for unit-testing techniques for concurrent code. This paper presents the motivation, problem, proposed solution, first results, and open challenges of an early-stage research project (2019–2022) that aims to develop innovative such techniques. Founded on existing work on coordination models and languages, the project's idea is to use a combination of domain-specific language, compilation, and model-checking to build a fully automated framework for unit-testing concurrency.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130216255","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}
H. Tran, Alexandre Honorat, J. Talpin, T. Gautier, L. Besnard
{"title":"Efficient Contention-Aware Scheduling of SDF Graphs on Shared Multi-Bank Memory","authors":"H. Tran, Alexandre Honorat, J. Talpin, T. Gautier, L. Besnard","doi":"10.1109/ICECCS.2019.00020","DOIUrl":"https://doi.org/10.1109/ICECCS.2019.00020","url":null,"abstract":"Novel memory architectures have been introduced in multi/many-core processors to address the performance bottle neck due to shared memory accesses. Taking the advantages brought by these architectures in scheduling analysis is still an open challenge. In this article, we present a scheduling analysis technique that exploits a shared multi-bank memory architecture to efficiently schedule parallel real-time applications modeled as synchronous data flow (SDF) graphs by minimizing the memory access contentions. Our approach aims at producing a static time-triggered schedule with the objective of minimizing the makespan and buffer size requirements while respecting consistency and data dependency constraints. An Integer Linear Programming formulation of the scheduling problem is presented, as well as a heuristic with significantly lower time complexity. Experimental results are given using synthetic SDF graphs generated by the SDF3 tool and applications available in the StreamIt benchmark.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115219109","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}
Keqing Jiang, David Sanán, Yongwang Zhao, Shuanglong Kan, Yang Liu
{"title":"A Formally Verified Buddy Memory Allocation Model","authors":"Keqing Jiang, David Sanán, Yongwang Zhao, Shuanglong Kan, Yang Liu","doi":"10.1109/ICECCS.2019.00023","DOIUrl":"https://doi.org/10.1109/ICECCS.2019.00023","url":null,"abstract":"Buddy memory allocation algorithms are widely adopted by various memory management systems for managing memory layouts. Rigorous mathematical proofs provide strong assurance to improve the confidence on the reliability of a memory management system. In this paper, we model and formally verify, in the interactive theorem prover Isabelle/HOL, a buddy memory allocation model, which preserves functional correctness and security properties. Firstly, we construct a specification consisting of operations to allocate and dispose memory blocks according to a buddy memory allocation algorithm. Then we verify that the specification preserves key invariants over the memory to guarantee functional correctness of the algorithm. Finally, we verify that the specification also preserves the integrity of the memory. Therefore, they do not affect other memory blocks previously allocated.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"705 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123499363","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":"[Copyright notice]","authors":"","doi":"10.1109/iceccs.2019.00003","DOIUrl":"https://doi.org/10.1109/iceccs.2019.00003","url":null,"abstract":"","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129955342","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":"Measuring Opacity for Non-Probabilistic DES: a SOG-Based Approach","authors":"Amina Bourouis, Kais Klai, N. Hadj-Alouane","doi":"10.1109/ICECCS.2019.00034","DOIUrl":"https://doi.org/10.1109/ICECCS.2019.00034","url":null,"abstract":"A system is opaque w.r.t. a secret and an observation map if for every run that leads to the secret, there exists at least one equivalent run which does not. The dichotomy of this definition, however, fails to measure just how much information the system keeps hidden. In fact, a system can be deemed opaque due to a single non-secret run, among an overwhelming number of secret equivalents. In this paper, we wish to redeem this drawback by the means of quantifying opacity into an opacity degree measuring the security of a system. After we formalize this numeral value for both the system and its corresponding Symbolic Observation Graph (SOG), we enhance our findings using a case study and some experimentation.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129131128","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}
Jun Gao, Li Li, Tegawendé F. Bissyandé, Jacques Klein
{"title":"On the Evolution of Mobile App Complexity","authors":"Jun Gao, Li Li, Tegawendé F. Bissyandé, Jacques Klein","doi":"10.1109/ICECCS.2019.00029","DOIUrl":"https://doi.org/10.1109/ICECCS.2019.00029","url":null,"abstract":"Android developers are known to frequently update their apps for fixing bugs and addressing vulnerabilities, but more commonly for introducing new features. This process leads a trail in the ecosystem with multiple successive app versions which record historical evolutions of a variety of apps. While the literature includes various works related to such evolutions, little attention has been paid to the research question on how quality evolves, in particular with regards to maintainability and code complexity. In this work, we fill this gap by presenting a large-scale empirical study: we leverage the AndroZoo dataset to obtain a significant number of app lineages (i.e., successive releases of the same Android apps), and rely on six well-established, maintainability-related complexity metrics commonly accepted in the literature on app quality, maintainability etc. Our empirical investigation eventually reveals that, overall, while Android apps become bigger in terms of code size as time goes by, the apps themselves appear to be increasingly maintainable and thus decreasingly complex.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122313358","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":"Checking Multi-Agent Systems Against Temporal-Epistemic Specifications","authors":"Ran Chen, Wenhui Zhang","doi":"10.1109/ICECCS.2019.00010","DOIUrl":"https://doi.org/10.1109/ICECCS.2019.00010","url":null,"abstract":"This work is on methodologies for checking multi-agent systems against temporal-epistemic specifications. Since behaviors that comply with temporal-epistemic specifications in general (or theoretically) involve infinite sequences of actions of the involved agents, we must avoid checking such specifications based on such infinite sequences. This work at the theoretical side provides a bounded semantics for the temporal-epistemic specification formalism CTLK such that checking an infinite number of steps can be reduced to checking a finite number of steps, and at the practical side develops an approach based on the semantics and QBF-solving techniques for the verification purpose. The approach has been implemented and experimental data show that there exist verification problems that can be verified by this approach more efficiently than BDD based symbolic model checking.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124510876","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":"Efficient Retiming of Unfolded Synchronous Dataflow Graphs","authors":"Xue-Yang Zhu","doi":"10.1109/ICECCS.2019.00022","DOIUrl":"https://doi.org/10.1109/ICECCS.2019.00022","url":null,"abstract":"Synchronous dataflow graphs (SDFGs) are widely used to model data driven programs, for which throughput is an important real-time requirement. Retiming and unfolding are important graph transformation techniques for performance optimization of SDFGs. Retiming improves the throughput of an SDFG by redistributing its initial tokens, while unfolding by scheduling several iterations of the graph. In this paper, we present an efficient and exact method to find feasible retiming and optimal retiming of an unfolded SDFG on its original SDFG, without converting it to its equivalent homogeneous SDFG (HSDFG) and therefore without further unfolding the HSDFG. The conversion procedures are usually time and space-consuming. We also extend two state-of-the-art retiming methods for SDFGs to deal with unfolding. We implement all the three methods and perform experiments on graphs with various structures and sizes to evaluate them thoroughly. The results show that the proposal method generally outperforms the extensions of existing retiming methods, especially for the large graphs and the graphs with complex structures.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115980232","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}
M. Kerdoudi, T. Ziadi, Chouki Tibermacine, Salah Sadou
{"title":"Recovering Software Architecture Product Lines","authors":"M. Kerdoudi, T. Ziadi, Chouki Tibermacine, Salah Sadou","doi":"10.1109/ICECCS.2019.00032","DOIUrl":"https://doi.org/10.1109/ICECCS.2019.00032","url":null,"abstract":"A large component and service-based software system exists in different forms, as different variants targeting different business needs and users. This kind of systems is provided as a set of \"independent\" products and not as a \"single whole\". Developers use ad hoc mechanisms to manage variability. However, for deriving new product variants that are built upon existing ones, the presence of a single model describing the architecture of the whole system with an explicit specification of commonality and variability is of great interest. Indeed, this enables them to see the invariant part of the whole, on top of which new functionality can be built, in addition to the different options they can use. We investigate in this work the use of software product line reverse engineering approaches, and in particular the framework named But4Reuse, for recovering an architecture model that enables us to build a Software Architecture Product Line (SAPL), from a set of software variants. We propose a generic process for recovering an architecture model of such a product line. We have instantiated this process for the OSGi Java framework and experimented it for building the architecture model of Eclipse IDE SPL. The results of this experimentation showed that this process can effectively reconstruct such an architecture model.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134438359","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}
Z. Zuo, Zhihao Liu, Changjing Wang, Z. You, Qimin Hu
{"title":"Apla Generic Constraint Matching Detection and Verification","authors":"Z. Zuo, Zhihao Liu, Changjing Wang, Z. You, Qimin Hu","doi":"10.1109/ICECCS.2019.00030","DOIUrl":"https://doi.org/10.1109/ICECCS.2019.00030","url":null,"abstract":"The core of object-oriented programming (OOP) is the object, while the core of generic programming (GP) is the type requirement. Generic programming can improve the reusability, security and development efficiency of programs. Generic constraints can prevent run-time crashes of generic programs. Generics constraints and their matching mechanism in the mainstream programming languages are studied. The abstract degree of the current mainstream languages is not high enough to describe the complex dynamic semantic requirements. Abstract generic programming language Apla is used as the host language to propose a generic constraint method based on the type requirements of complete GP, including static syntax generic constraint and dynamic semantic generic constraint. A general generic constraint description language is given, a matching detection algorithm is designed to determine whether the static syntax generic constraints meet the requirements, and a matching verification mechanism is designed for dynamic semantic generic constraint verification. Finally, the whole process of matching detection and verification is demonstrated by taking Kleene algorithm as an example. The generic constraint mechanism can improve the security of the program. It further implements the GP concept with the type requirement as the core in the full sense.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133566925","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}