Researcher profile

Mohammad Reza Besharati

Mohammad Reza Besharati contributes to research discovery and scholarly infrastructure.

ResearcherAffiliation not importedOpen to collaborate

Trust snapshot

Quick read

Trust 17 - UnverifiedVerification L1Unclaimed author
4works
0followers
5topics
2close collaborators

Actions

Decide how to stay connected

Follow researcher0

Identity and collaboration

How to connect with this researcher

Claiming links this public author record to a researcher profile and unlocks direct collaboration workflows.

Log in to claim

Direct collaboration

Open a focused conversation when the fit is right

Claim this author entity first to unlock direct invitations.

Research graph

See the researcher in context

Open full explorer

Inspect adjacent work, topics, institutions and collaborators without jumping out to a separate graph page.

Building this graph slice

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Published work

4 published item(s)

preprint2022arXiv

Distributed Software Evolution: a Survey

Distribution can be a feature of the software evolution process. In other words, temporally and spatially distributed teams and organizations can develop and work on a software application. The simplest case is to outsource production and employ workforce at distributed sites so that multiple distributed teams can work on a project within a parallel framework. If this distribution is global, it will be called the global software evolution or development. A higher level of distribution is defined as decentralization and decentralized software evolution, which means that software development can be independent of the initial provider. It also means that software execution is independent of the initial provider and the initial system so that the software application can easily be reused in different and new projects. However, the high level architecture is managed within a practically centralized framework in the decentralized software evolution. Most of the large scale open-source projects are exemplars of this level. In terms of distribution, there is a higher level of decentralized software evolution called "distributed cognition and leadership". At this level of distribution, all system levels evolve within a distributed framework, and there are no centralized points in the project network and its evolution process. Some open-source software applications are the exemplars of this last level. Not only is the distributed software evolution faced with certain challenges and opportunities to reach its goals, but it has also caused some challenges and opportunities in other fields. This paper conducts a general review of the distributed software evolution. For this purpose, the paper first addresses the importance of the distributed software evolution, and then introduces its noteworthy paradigms.

preprint2022arXiv

Stateless and Rule-Based Verification For Compliance Checking Applications

Underlying computational model has an important role in any computation. The state and transition (such as in automata) and rule and value (such as in Lisp and logic programming) are two comparable and counterpart computational models. Both of deductive and model checking verification techniques are relying on a notion of state and as a result, their underlying computational models are state dependent. Some verification problems (such as compliance checking by which an under compliance system is verified against some regulations and rules) have not a strong notion of state nor transition. Behalf of it, these systems have a strong notion of value symbols and declarative rules defined on them. SARV (Stateless And Rule-Based Verification) is a verification framework that designed to simplify the overall process of verification for stateless and rule-based verification problems (e.g. compliance checking). In this paper, a formal logic-based framework for creating intelligent compliance checking systems is presented. We define and introduce this framework, report a case study and present results of an experiment on it. The case study is about protocol compliance checking for smart cities. Using this solution, a Rescue Scenario use case and its compliance checking are sketched and modeled. An automation engine for and a compliance solution with SARV are introduced. Based on 300 data experiments, the SARV-based compliance solution outperforms famous machine learning methods on a 3125-records software quality dataset.

preprint2021arXiv

KARB Solution: Compliance to Quality by Rule Based Benchmarking

Instead of proofs or logical evaluations, compliance assessment could be done by benchmarking. Benchmarks, in their nature, are applied. So a set of benchmarks could shape an applied solution for compliance assessment. In this paper, we introduce the KARB solution: Keeping away compliance Anomalies by Rule-based Benchmarking. By rule-based benchmarking, we mean evaluation of under-compliance-system by its symbolic specification and by using a set of symbolic rules (on behalf of semantic logic of evaluation). In order to demonstrate and investigate the manner of KARB solution, we conducted a case study. The IR-QUMA study (Iranian Survey on Quality in Messenger Apps) is defined to evaluate the quality of some messenger apps. the results of evaluations suggest that the Hybrid Method of DD-KARB (with combination of semantics-awareness and data-drivenness) is more effective than solo-methods and could compute a somehow good estimation for messenger-apps user quality scores. So DD-KARB could be considered as a method for quality benchmarking in this technical context.

preprint2021arXiv

Langar: An Approach to Evaluate Reo Programming Language

Reo is a formal coordination language. In order to assess and evaluate its capabilities, we need a multi-perspective Language Evaluation Framework. Langar (Language Analysis for Reo) is a framework aimed to provide such an evaluation method. In this paper, we introduce Langar. Based on a review on various language evaluation methods, a tool-kit for useful evaluation techniques are provided. After Reo Evaluation, this method and tool-kit also could be used for another programming, computational and even natural languages. Furthermore, two suggestions for some future efforts and directions are provided for software engineering and software methodology communities.