Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player


Software Engineering

  • M. Hamza, K. Mahar, Ashraf Soliman,”Software development Productivity Major Metrics and Function Point & Feature  Point Estimation Model,” Proceedings of 11th international conference on computer theory and applications, ICCTA’2001, Alexandria, Egypt, Aug. 2001.

Abstract: The major metrics and function points & feature points estimation model is identifying the combination and interaction of the major metrics and function points & feature points, which influence software development productivity. This paper briefly characterizes the behavior of the major metrics and function points & feature points and reports the results of using different productivity metrics in order to determine which metric is better for measuring the productivity of software projects. Therefore, we introduce the model that tends to be highly correlated in the case of new software development.

  • Khaled Mahar and Ahmed Elderaa, “Software Project Estimation Model Using Function Point Analysis with CBR Support,” Proceedings of IADIS International Conference Applied computing, San Sebastian, Spain, pp. 508:512, Feb. 2006.

Abstract: This paper addresses the problem of software cost estimation (SCE) by providing an overview to the most important researches that have been done in this area. Also, it presents a new proposed model with the aim of effectively specifying estimates for size, effort, duration, and cost of software to be developed. The main concern of the proposed model is to create a general model that can be fitted onto any software independent of the methodology and technology utilized for the development. The model provides an approach linking the function point analysis (FPA) technique with a case-based reasoning (CBR) system in order to predict estimates for effort, schedule and cost of future development projects. FPA technique has been chosen because it measures the functionality delivered by software without being influenced by the technology or the language being used. Also, a CBR system is used to help effectively in establishing the relationship between the criteria and the metrics based upon experience gained from past similar software projects. The proposed model avoids some of the limitations of the CBR systems that can arise, if no matches are found with the stored projects, by dividing the project into tasks and trying to find a match with similar tasks.

  • Nada Hany, Ayman Abdel-Hamid, and Khaled Mahar, ”Threat-driven modeling framework for secure software using aspect-oriented stochastic petri nets,” 7th international conference on informatics & systems (INFOS 2010), Cairo Univeristy, March 2010.

Abstract: Design-level vulnerabilities are a main source of security risks in software. A great deal of software is designed in an ad hoc fashion. To improve the reliability of software design, this paper presents a modified threat-driven modeling framework, to determine which threats require mitigation and how to mitigate the threats. To specify the functions and threat mitigations of a security design as a whole, aspect-oriented Stochastic Petri nets are used as a formal amplified model. Moreover, this paper proposes an adapted augmented approach to define software security metrics based on vulnerabilities included in the software systems and their impacts on software quality. The Common Vulnerability Scoring System (CVSS), a vulnerability scoring system designed to provide a standardized method for rating software vulnerabilities, is used as the basis in the metric definition and calculations. Furthermore, a case study is detailed, which shows the essence and feasibility of using aspect-oriented stochastic Petri net models for threat modeling and that the proposed security metrics are consistent with common practice.


  • Hager Hussein, Mahmoud Farouk, Khaled Mahar, and Osama Badawy, “Automatic Repair of Software Bugs,” Annual International Conference on Software Engineering (SE 2010), Thailand, Dec 2010.

Abstract: Software evaluation reaches the peak when the software passes the testing phase successfully and proves its reliability. Unreliability can be caused due to some bugs that cannot be detected during the compilation time. The task of fixing these bugs is basically human-only task because of its complexity. Although there are many techniques for automating the detection of these bugs, very much fewer ones exist for correcting them. Rule-based systems can be indispensible when human expertise is not accessible, that is the case when the automation is required. Thus, an After Compilation Fault Correction (AlFC) rule-based system is proposed for automating the complex task of fixing such bugs that are not detected in the compilation phase. A prototype for the AlFC system is implemented and applied for the java language with test cases to validate it. Experimental results show the success and effectiveness of the proposed technique.