Loading...
Search for: mirian-hosseinabadi--s--h
0.163 seconds

    A feature model based framework for refactoring software product line architecture

    , Article Journal of Computer Science and Technology ; Volume 31, Issue 5 , 2016 , Pages 951-986 ; 10009000 (ISSN) Tanhaei, M ; Habibi, J ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    Springer New York LLC  2016
    Abstract
    Software product line (SPL) is an approach used to develop a range of software products with a high degree of similarity. In this approach, a feature model is usually used to keep track of similarities and differences. Over time, as modifications are made to the SPL, inconsistencies with the feature model could arise. The first approach to dealing with these inconsistencies is refactoring. Refactoring consists of small steps which, when accumulated, may lead to large-scale changes in the SPL, resulting in features being added to or eliminated from the SPL. In this paper, we propose a framework for refactoring SPLs, which helps keep SPLs consistent with the feature model. After some... 

    Automating feature model refactoring: A model transformation approach

    , Article Information and Software Technology ; Volume 80 , 2016 , Pages 138-157 ; 09505849 (ISSN) Tanhaei, M ; Habibi, J ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    Elsevier  2016
    Abstract
    Context: Feature model is an appropriate and indispensable tool for modeling similarities and differences among products of the Software Product Line (SPL). It not only exposes the validity of the products’ configurations in an SPL but also changes in the course of time to support new requirements of the SPL. Modifications made on the feature model in the course of time raise a number of issues. Useless enlargements of the feature model, the existence of dead features, and violated constraints in the feature model are some of the key problems that make its maintenance difficult. Objective: The initial approach to dealing with the above-mentioned problems and improving maintainability of the... 

    Reliability of separation of duty in ANSI standard role-based access control

    , Article Scientia Iranica ; Volume 18, Issue 6 , 2011 , Pages 1416-1424 ; 10263098 (ISSN) Esna Ashari, M ; Rabiee, H. R ; Mirian-Hosseinabadi, S. H ; Sharif University of Technology
    2011
    Abstract
    ANSI RBAC is a standard for a consistent and uniform definition on Role Based Access Control features and their functional specifications ANSI (2004) [1]. We analyze both static and dynamic separation of duty constraints specifications in the ANSI RBAC standard and evaluate their reliabilities. We then suggest necessary improvements for making them completely reliable  

    Program state coverage: A test coverage metric based on executed program states

    , Article 26th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2019, 24 February 2019 through 27 February 2019 ; 2019 , Pages 584-588 ; 9781728105918 (ISBN) Etemadi Someoliayi, K ; Jalali, S ; Mahdieh, M ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    Institute of Electrical and Electronics Engineers Inc  2019
    Abstract
    In software testing, different metrics are proposed to predict and compare test suites effectiveness. In this regard, Mutation Score (MS) is one of most accurate metrics. However, calculating MS needs executing test suites many times and it is not commonly used in industry. On the other hand, Line Coverage (LC) is a widely used metric which is calculated by executing test suites only once, although it is not as accurate as MS in terms of predicting and comparing test suites effectiveness. In this paper, we propose a novel test coverage metric, called Program State Coverage (PSC), which improves the accuracy of LC. PSC works almost the same as LC and it can be calculated by executing test... 

    An evaluation method for aspectual modeling of distributed software architectures

    , Article 6th IEEE/ACS International Conference on Computer Systems and Applications, AICCSA 2008, Doha, 31 March 2008 through 4 April 2008 ; 2008 , Pages 903-908 ; 9781424419685 (ISBN) Bagheri, H ; Montaghami, V ; Safi, G ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    2008
    Abstract
    Dealing with crosscutting requirements in software development usually makes the process more complex. Modeling and analyzing of these requirements in the software architecture facilitate detecting architectural risks early. Distributed systems have more complexity and so these facilities are much useful in development of such systems. Aspect oriented Architectural Description Languages(ADL) have emerged to represent solutions for discussed problems; nevertheless, imposing radical changes to existing architectural modeling methods is not easily acceptable by architects. Software architecture analysis methods, furthermore, intend to verify that the quality requirements have been addressed... 

    A Semi-Automated Software Testing Using Input Space Partitioning

    , M.Sc. Thesis Sharif University of Technology Khanbaba, Younes (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    It's impossible to check all inputs of a software program due to infinite input domain, therefore the domain should be somehow restricted. One popular approach to do so, is input space partitioning. In this approach, the input domain has been modeled and partitioned into some equivalent classes or blocks. Using these blocks, it's possible to select one sample from each one and reduce the number of test cases to a small desirable number. To automate this approach, it's essential to firstly define the software requirements specification in a well-defined machine understandable template, then with processing this document we can detect program’s functionality and testable functions. Our goal in... 

    Generating Mutants to Improve Test Suites: A Search-Based Approach

    , M.Sc. Thesis Sharif University of Technology Barati, Babak (Author) ; Mirian-Hosseinabadi, Hassan (Supervisor)
    Abstract
    Mutation testing is known to be one of the best strategies to improve the quality of test suites, consequently the quality of the software. However, some challenges make mutaton testing unpractical. One of the main challenges confronting mutation testing is that it demands exhustive computation and is time consuming because of the large number of mutants that need to be compiled and executed on the test cases of the test suite. Many researches have been conducted to reduce the number of mutants without losing the main characteristics of the all possible mutants. Most of these researches select the mutants without considering the characteristics of the test suite, therefore the reduced set of... 

    Refning Object Oriented Formal Specifcation To Object Oriented Code

    , M.Sc. Thesis Sharif University of Technology Piri, Razieh (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    The presented work provides a calculus for refining an object oriented formal specification to an object oriented code. A refinement calculus provides a framework to produce executable code from a specification while preserving its correctness. Eiffel Refinement Calculus is the most complete work in this domain which is studied in this research.
    The Formal specification language which is considered for this purpose is .JML to specify executable code in .Java language. For this calculus some refinement laws are pre- sented and their proofs is given by weakest precondition predicate transformer, a work which was not considered in Eiffel Refinement Calculus. The constructs which are used in... 

    A Process Model for Software Product line Engineering Based on the Model Driven Architecture

    , M.Sc. Thesis Sharif University of Technology Forghani, Hadi (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software development process is a base ground for all software activities and ensures all aspects of the software. No quality is guaranteed without a definite process. Model-Driven Software Development process proposes an industrial method for software companies to produce the required software through model(s) and tools. On the other hand, Software Product Line imposes a set of frameworks and principles. As a result a tangible decrement of development time and cost along with an increment of quality is achieved. Mixing both processes creates a stronger industrial process in order to decrease the development time and cost. In this thesis, through a survey on both of the processes and related... 

    An Improvement on Test Driven Development

    , M.Sc. Thesis Sharif University of Technology Sadeghi, Alireza (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Less than a decade ago, Test Driven Development (TDD) emerged as a quality assurance approach and applied in agile software developments. In this method, test cases act as software development driver and a new piece of code is added just to satisfy the corresponding test case in the test repository. Although the results of applying TDD show its success in software quality promotion, but the method suffers from some limitations and shortcomings that make its usage hard in complicated and enterprise software projects, particularly in the industry. The goal of the following research is to mitigate the drawbacks of TDD and improve the method in order to make it more applicable for complicated... 

    XML Query Processing Optimization

    , M.Sc. Thesis Sharif University of Technology Sadri, Mehdi (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    XML has been emerged as a de facto standard for data exchange and information transition over computer networks including Web. On the other hand by the growing use of sensors and data streams over computer networks, the usage of XML data format for data streams between data and processing units like sensors and information centers is growing. In this thesis first we do a survey on XML query processing and optimization and after that we propose methods for optimizing query processing over XML data streams based on data stream unique attributes and incremental completeness of XML data trees for increasing the speed of processing and decreasing the amount of memory that processing needs. For... 

    Testing of Workflow Engine Based Systems: A Model-Based Approach

    , M.Sc. Thesis Sharif University of Technology Farnoush, Mojtaba (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    As the increased use of workflow engine based systems in various domains, quality assurance and testing them has become critical. The majority of these systems are designed and implemented by a workflow language, so testing these systems is highly dependent of workflow language. In this thesis the common domain of business processes is chosen. In this area, little researches have examined the implemened processes with the second version of BPMN modeling language, and most methods, examined another language called BPEL. For this reason and due to the increased use of BPMN language because of its unique characteristics, this study focuses on testing of systems implemented with this language.... 

    A Method for Testing Aspect-Oriented Programs

    , M.Sc. Thesis Sharif University of Technology Shokouhi, Sahar (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Aspect-Oriented Programming is a software engineering paradigm that offers new constructs, such as join points, pointcuts, advices and aspects in order to improve separation of crosscutting concerns. The new constructs bring new type of programming faults with respect to crosscutting concerns, such as incorrect pointcuts, advice or aspect precedence. In fact, existing object-oriented testing techniques are not adequate for testing aspect-oriented programs. As a result, new testing techniques must be developed. In this paper, an approach based upon UML sequence diagrams for testing aspect- oriented program is presented. The proposed approach focuses on integration of one or several... 

    An Evolutionary Feature-Oriented Approach For Software Product Line Engineering

    , M.Sc. Thesis Sharif University of Technology Taheri, Naeim (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    In the current decade there has been research works around adopting agile methodologies for software product line engineering. However, the emphasis has been on the process part of the methodology and the main product which is the source code has been neglected.The prevalent modeling and implementation method of software product line is the featureoriented method. The concept of ”Feature-to-code mapping” is introduced in the implementation phase which recently novel approaches have been proposed to realize it.Despite superiority of the novel approaches in this field, prevalent industrial product lines still use C language and map features to code by leveraging traditional preprocessors of C... 

    A Technique for Transforming Computer Independent Model to Platform Independent Model in Model Driven Development of Software

    , M.Sc. Thesis Sharif University of Technology Pourabedini, Mohammad (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software Development is an engineering activity and similar to other engineering activities requires a process. Model-driven architecture introduces a group of processes which have models as their pivot. Throughout such processes we have to deal with models and model transformations. Model-driven architecture presents different abstraction levels for models used in a process. Model-driven architecture which, starting from business models acquired from the environment sets out guidelines for obtaining models that produces software source code as its final goal. The most important issue in model-driven architecture is transformation between models of different abstraction levels. Among them... 

    Test Case Refactoring in Test-Driven Development of Software: A Pattern-Based Approach

    , M.Sc. Thesis Sharif University of Technology Masghadi, Nima (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Design patterns as successful solutions of recurring problems, have attracted much attention in the field of Software Engineering. These Patterns, which are derived from the principles of Object-Oriented programming, are fine-grained architectures that have significant impact on software quality attributes such as maintainability, scalability, configurability, understandability, and so on. On the other hand, Refactoring as behavior protective method for making changes to software structure, to enhance maintainability and reduce the cost of changes, is now widely used in industry. This structural changes, can be as simple as moving a method or adding a parameter, or as complex as transforming... 

    An Agile Methodology with the Facility of Reusing Common Assets

    , M.Sc. Thesis Sharif University of Technology Varmazyar, Mojtaba (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software Reuse, the use of (pre)existing artifacts to create new systems, can reduce development costs and improve software quality and productivity. With a primary investment, Software Product Line facilitates a systematic reuse of the common parts of an specific domain in developing similar systems of that domain. On the Contrary, Agile Methods who value working software over comprehensive documentations and such investments is not done, lack reuse in developing similar systems. Here the question arises: why do we completely or almost miss such reuse when the only focus is on creating working software? When such investments or additional works like documentation are not done? Is there any... 

    Software Testing Based on Input Grammars with Semantics

    , Ph.D. Dissertation Sharif University of Technology Keramati, Hossein (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Generating test cases based on software input interface is a black-box testing technique that can be made more effective by using structured input models such as input grammars. Automatically generating grammar-based test inputs may lead to structurally valid but semantically invalid inputs that may be rejected in early semantic error checking phases of a system under test. This research aims to introduce a method for specifying a grammar-based input model with the model’s semantic constraints to be used in the generation of positive test inputs. It is also important that the method can generate effective test suites based on appropriate grammar-based coverage criteria. Formal specification... 

    Evolutionary Testing of Object Oriented Softwares

    , M.Sc. Thesis Sharif University of Technology Bahrami, Yaser (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Application of evolutionary algorithms in software testing, called evolutionary testing, has been an area of interest for many researchers. Automatic generation of test cases is the main purpose of evolutionary testing. In recent years lots of tools for test case generation in structured and object oriented softwares has been developed using different evolutionary algorithms. All of theses tools targeted unit test case generation and high code coverage of class under test. In this thesis we propose an approach for generation of integration test cases in object oriented softwares. We use bottom-up integration approach for generation of test cases by applying the solutions presented for... 

    Testing Android Event-Driven Applications

    , M.Sc. Thesis Sharif University of Technology Hassantabar, Navid (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    There are different classes of event-driven softwares. These softwares include Graphical user interface, web application or embedded software. In these kinds of softwares, each user’s action while using application, is known as “event”. The application responds to the action through changing behavior and then waiting for another event. Testing software is the best way for checking the quality assurance of event-driven softwares. However, there are some problems, such as lengthy event sequences, in testing these kinds of softwares. Therefore, many solutions are introduced for these problems. The goal of this report, is presenting new testing procedure for event-driven Android applications....