Ahmed E. Hassan

Last updated

Ahmed E. Hassan (Ph.D., University of Waterloo) is a professor at Queen's University in the Queen's School of Computing, where he leads the Software Analysis and Intelligence Lab (SAIL). [1] He is a fellow of the ACM and IEEE in which recognition by both of these leading societies is quite rare, with <0.1% of IEEE members. [2] In 2023, he received the Mustafa Prize for his contributions to software engineering. [3]

Contents

Education

Hassan completed his Ph.D. in computer science at the University of Waterloo in 2005. [4]

Research interests

Ahmed Hassan's research focuses on the intersection of systems and software engineering. His work supports software professionals in developing, maintaining, and evolving complex, large-scale software systems.

Notable contributions

Ahmed Hassan has made significant contributions to the field of software engineering:

Awards and recognition

Ahmed Hassan's career includes several notable accolades:

Selected publications

Related Research Articles

In computer programming and software design, code refactoring is the process of restructuring existing source code—changing the factoring—without changing its external behavior. Refactoring is intended to improve the design, structure, and/or implementation of the software, while preserving its functionality. Potential advantages of refactoring may include improved code readability and reduced complexity; these can improve the source code's maintainability and create a simpler, cleaner, or more expressive internal architecture or object model to improve extensibility. Another potential goal for refactoring is improved performance; software engineers face an ongoing challenge to write programs that perform faster or use less memory.

<span class="mw-page-title-main">Code review</span> Activity where one or more people check a programs code

Code review is a software quality assurance activity in which one or more people examine the source code of a computer program, either after implementation or during the development process. The persons performing the checking, excluding the author, are called "reviewers". At least one reviewer must not be the code's author.

<span class="mw-page-title-main">Jack Dongarra</span> American computer scientist (born 1950)

Jack Joseph Dongarra is an American computer scientist and mathematician. He is a University Distinguished Professor Emeritus of Computer Science in the Electrical Engineering and Computer Science Department at the University of Tennessee. He holds the position of a Distinguished Research Staff member in the Computer Science and Mathematics Division at Oak Ridge National Laboratory, Turing Fellowship in the School of Mathematics at the University of Manchester, and is an adjunct professor and teacher in the Computer Science Department at Rice University. He served as a faculty fellow at the Texas A&M University Institute for Advanced Study (2014–2018). Dongarra is the founding director of the Innovative Computing Laboratory at the University of Tennessee. He was the recipient of the Turing Award in 2021.

In the context of software engineering, software quality refers to two related but distinct notions:

Software visualization or software visualisation refers to the visualization of information of and related to software systems—either the architecture of its source code or metrics of their runtime behavior—and their development process by means of static, interactive or animated 2-D or 3-D visual representations of their structure, execution, behavior, and evolution.

M. Dale Skeen is an American computer scientist. He specializes in designing and implementing large-scale computing systems, distributed computing and database management systems.

A software regression is a type of software bug where a feature that has worked before stops working. This may happen after changes are applied to the software's source code, including the addition of new features and bug fixes. They may also be introduced by changes to the environment in which the software is running, such as system upgrades, system patching or a change to daylight saving time. A software performance regression is a situation where the software still functions correctly, but performs more slowly or uses more memory or resources than before. Various types of software regressions have been identified in practice, including the following:

Özalp Babaoğlu, is a Turkish computer scientist. He is currently professor of computer science at the University of Bologna, Italy. He received a Ph.D. in 1981 from the University of California at Berkeley. He is the recipient of 1982 Sakrison Memorial Award, 1989 UNIX InternationalRecognition Award and 1993 USENIX AssociationLifetime Achievement Award for his contributions to the UNIX system community and to Open Industry Standards. Before moving to Bologna in 1988, Babaoğlu was an associate professor in the Department of Computer Science at Cornell University. He has participated in several European research projects in distributed computing and complex systems. Babaoğlu is an ACM Fellow and has served as a resident fellow of the Institute of Advanced Studies at the University of Bologna and on the editorial boards for ACM Transactions on Computer Systems, ACM Transactions on Autonomous and Adaptive Systems and Springer-Verlag Distributed Computing.

Search-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimization problems. Optimization techniques of operations research such as linear programming or dynamic programming are often impractical for large scale software engineering problems because of their computational complexity or their assumptions on the problem structure. Researchers and practitioners use metaheuristic search techniques, which impose little assumptions on the problem structure, to find near-optimal or "good-enough" solutions.

Elaine Jessica Weyuker is an ACM Fellow, an IEEE Fellow, and an AT&T Fellow at Bell Labs for research in software metrics and testing as well as elected to the National Academy of Engineering. She is the author of over 130 papers in journals and refereed conference proceedings.

Within software engineering, the mining software repositories (MSR) field analyzes the rich data available in software repositories, such as version control repositories, mailing list archives, bug tracking systems, issue tracking systems, etc. to uncover interesting and actionable information about software systems, projects and software engineering.

Software analytics is the analytics specific to the domain of software systems taking into account source code, static and dynamic characteristics as well as related processes of their development and evolution. It aims at describing, monitoring, predicting, and improving the efficiency and effectiveness of software engineering throughout the software lifecycle, in particular during software development and software maintenance. The data collection is typically done by mining software repositories, but can also be achieved by collecting user actions or production data.

Lori L. Pollock is an American Computer Scientist noted for her research on software analysis and testing, green software engineering and compiler optimization.

<span class="mw-page-title-main">T.H. Tse</span> Hong Kong academic, professor and researcher

T.H. Tse is a Hong Kong academic who is a professor and researcher in program testing and debugging. He is ranked internationally as the second most prolific author in metamorphic testing. According to Bruel et al., "Research on integrated formal and informal techniques can trace its roots to the work of T.H. Tse in the mid-eighties." The application areas of his research include object-oriented software, services computing, pervasive computing, concurrent systems, imaging software, and numerical programs. In addition, he creates graphic designs for non-government organizations.

Software intelligence is insight into the inner workings and structural condition of software assets produced by software designed to analyze database structure, software framework and source code to better understand and control complex software systems in information technology environments. Similarly to business intelligence (BI), software intelligence is produced by a set of software tools and techniques for the mining of data and the software's inner-structure. Results are automatically produced and feed a knowledge base containing technical documentation and blueprints of the innerworking of applications, and make it available to all to be used by business and software stakeholders to make informed decisions, measure the efficiency of software development organizations, communicate about the software health, prevent software catastrophes.

Automatic bug-fixing is the automatic repair of software bugs without the intervention of a human programmer. It is also commonly referred to as automatic patch generation, automatic bug repair, or automatic program repair. The typical goal of such techniques is to automatically generate correct patches to eliminate bugs in software programs without causing software regression.

Michela Taufer is an Italian-American computer scientist and holds the Jack Dongarra Professorship in High Performance Computing within the Department of Electrical Engineering and Computer Science at the University of Tennessee, Knoxville. She is an ACM Distinguished Scientist and an IEEE Senior Member. In 2021, together with a team al Lawrence Livermore National Laboratory, she earned a R&D 100 Award for the Flux workload management software framework in the Software/Services category.

Nancy Rose Mead is an American computer scientist. She is known for her contributions to security, software engineering education and requirements.

Gregg Evan Rothermel is an American computer scientist, software engineer and academic. He is a Distinguished University Professor and Head of the Department of Computer Science at North Carolina State University.

Tsong Yueh Chen is an Australian academic at the Swinburne University of Technology who is a professor and researcher in program testing and debugging. He is ranked internationally as the most prolific author in metamorphic testing.

References

  1. "Software Analysis and Intelligence Lab". Queen's University. Retrieved 2024-11-11.
  2. 1 2 "STEP : Science and Technology Exchange Program". step.mstfdn.org. Retrieved 2024-12-26.
  3. 1 2 "Ahmed Hassan earns prestigious Mustafa Prize". Queen's University. 2023-08-18. Retrieved 2024-11-04.
  4. "Homepage for Ahmed E. Hassan". research.cs.queensu.ca. Retrieved 2024-12-26.
  5. Ahmed E. Hassan (2008). The Road Ahead for Mining Software Repositories. 2008 Frontiers of Software Maintenance. IEEE. pp. 48–57. doi:10.1109/FOSM.2008.4659248. ISBN   978-1-4244-2654-6.
  6. Ahmed E. Hassan (2009). "Predicting Faults Using the Complexity of Code Changes". IEEE Transactions on Software Engineering. 35 (6): c4. doi:10.1109/TSE.2009.81.
  7. Ahmed E. Hassan, Dayi Lin, Gopi Krishnan Rajbahadur, Keheliya Gallaba, Filipe Roseiro Cogo, Boyuan Chen, Haoxiang Zhang, Kishanthan Thangarajah, Gustavo Oliva, Jiahuei Lin, Wali Mohammad Abdullah, Zhen Ming Jiang (2024). "Rethinking Software Engineering in the Era of Foundation Models: A Curated Catalogue of Challenges in the Development of Trustworthy FMware". Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering. ACM. pp. 294–305. doi:10.1145/3663529.3663849. ISBN   979-8-4007-0658-5.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  8. "STEP : Science and Technology Exchange Program". step.mstfdn.org. Retrieved 2024-12-26.
  9. "Global Computing Association Names 57 Fellows for Outstanding Contributions That Propel Technology Today". Association for Computing Machinery. Retrieved 2024-11-04.
  10. "Introducing the 2019 Class of IEEE Fellows". Institute of Electrical and Electronics Engineers. Retrieved 2024-11-04.
  11. Hassan, Ahmed E. (2009). Predicting faults using the complexity of code changes. pp. 78–88. doi:10.1109/ICSE.2009.5070510. ISBN   978-1-4244-3453-4. Archived from the original on 2024-07-28. Retrieved 2024-12-26.
  12. Kamei, Yasutaka; Shihab, Emad; Adams, Bram; Hassan, Ahmed E.; Mockus, Audris; Sinha, Anand; Ubayashi, Naoyasu (2013). "A large-scale empirical study of just-in-time quality assurance". IEEE Transactions on Software Engineering. 39 (6): 757–773. doi:10.1109/TSE.2012.70. Archived from the original on 2024-07-05. Retrieved 2024-12-26.
  13. "Studying the Effectiveness of Application Performance Management (APM) Tools for Detecting Performance Regressions for Web Applications: An Experience Report". ieeexplore.ieee.org. Archived from the original on 2024-04-21. Retrieved 2024-12-26.