Loading...
Search for: mirian--hassan
0.181 seconds

    An Algorithm for Frequent Pattern Mining in Distributed Data Mining

    , M.Sc. Thesis Sharif University of Technology Bagheri, Maryam (Author) ; Mirian Hossinabadi, Hassan (Supervisor)
    Abstract
    Distributed computation has an important role in data mining. Data mining, usually requires a lot of resources both in terms of storage space and computing time. To reach scalability, some mechanisms for the distribution of work is required. Moreover, in many systems today, data is distributed in several databases. In this case, due to traffic overload in network, transferring all data to a central server and applying process centrally is inefficient and is subject to privacy issues. Distributed data mining provides some techniques for efficient mining in decentralized mode. Identifying frequent itemsets is one of the important branches of data mining. Frequent patterns are set of items,... 

    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... 

    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... 

    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... 

    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... 

    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... 

    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... 

    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... 

    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... 

    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... 

    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... 

    Code Change Analysis and its Impact on Software Architecture

    , M.Sc. Thesis Sharif University of Technology Fakharian, Peyman (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software versioning is always considered one of the main principle activities in maintain software systems. Investigating code and software architecture conformance in different versions of software and its impact on other parts of the system due to its needed granularity, or even on high abstraction models, such as software design and software architecture are considered as a challenge in this area. Code level changes frequently result in the changes in high-level abstractions unintentionally and would impact the performance of a software system. While this true, not only software engineers need to test the code functionalities which are changed but also test the various impacted parts of... 

    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.... 

    The Bug Prediction Model Using Mutation Metrics

    , M.Sc. Thesis Sharif University of Technology Mohebbi, Ali (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software developers notice existence of faults by report of a fault in issue tracking systems or a failure in software tests. Then they try to locate the bug and understand the problem. Early detection of fault results in saving time and money and facilitates debugging process. Prediction models can be built and used easily by modern statistical tools. Software metrics are the most important part of prediction models. Therefore higher performance in models can be achieved using new and effective metrics. In this study, process metrics and metrics that built base on mutation analysis used and resulting models evaluated. In addition to using process metrics with mutation metrics, two group of... 

    Generating Test Cases for Web-Based Programs Using Field Data

    , M.Sc. Thesis Sharif University of Technology Lotfi, Mahsa (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Generating and finding proper test cases is the most important task among software testing tasks. Lots of valuable information can be found in user interactions with web based applications. In this thesis, a method called "Hampa Karbar", will be presented, which consists of two main components, namely, "Request Tracker" and "Tester". Request Tracker is an aspect that can be woven into any methods of any kind of web based applications. This aspect will follow user serving methods to collect data for test cases. Then the second component, "Tester", will create and run test cases using collected data by the Request Tracker component. This method helps developers to find bugs which are hard to... 

    A Method for Evaluating Effectiveness of Test Cases

    , M.Sc. Thesis Sharif University of Technology Jalali, Sajjad (Author) ; Mirian-Hosseinabadi, Hassan (Supervisor)
    Abstract
    One of the most important methods to ensure correct software and check the quality of software is software testing. One of the most important discussions about software testing is the effectiveness of a test suite. Manufacturers need a benchmark to determine the effectiveness of the test suite to stop the software testing process. The proposed solutions for determining the effectiveness are mutation testing and code coverage. The mutation test has a higher accuracy than the code coverage, but it takes a long time to calculate. This dissertation has tried to improve the existing solutions by presenting a new coverage that has a higher degree of accuracy than the proposed coverages in... 

    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 Approach for Scheduling of Resources in Agent Oriented Work-flow Management System

    , M.Sc. Thesis Sharif University of Technology Kiaeeha, Masoud (Author) ; Mirian, Hassan (Supervisor)
    Abstract
    A workflow management system is a software system which manages and coordinates the operational tasks of an organization. Typically, the def­ inition of a workflow involves human and computer resources and tools on various geographic locations, and thus the concerns of distributed systems are one of the main challenges in this domain. Following this,allocating various resources to different tasks of a workflow and schedul­ ing them in a manner which satisfies some predefined constraints is one of the new and fundamental challenges in this field.The main goal of this research is to design an agent-oriented workflow system which utilizes a novel method for resource allocation and schedul­ ing...