Ken Magel - Academia.edu (original) (raw)

Papers by Ken Magel

Research paper thumbnail of A theory of small program complexity

ACM SIGPLAN Notices, 1982

Small programs are those which are written and understood by one. person. Large software systems ... more Small programs are those which are written and understood by one. person. Large software systems usually consist of many small programs. The complexity of a small program is a prediction of how difficult it would be for someone to understand the program. This complexity depends of three factors: (1) the size and interelationships of the program itself; (2) the size and interelationships of the internal model of the program's purpose held by the person trying to understand the program; and (3) the complexity of the mapping between the model and the program. A theory of small program complexity based on these three factors is presented. The theory leads to several testable predictions. Experiments are described which test these predictions and whose results could verify or destroy the theory.

Research paper thumbnail of The user-definable interface project

ACM SIGSOFT Software Engineering Notes, 1984

Research paper thumbnail of Applying Software Design Metrics to Developer Story: A Supervised Machine Learning Analysis

2019 IEEE First International Conference on Cognitive Machine Intelligence (CogMI), 2019

Object-oriented analysis is a significant step that plays a vital role in the success of software... more Object-oriented analysis is a significant step that plays a vital role in the success of software development. The planning and management stages, in particular, profoundly rely on the deliverance of an accurate estimate that takes the software's complexity and size into consideration. Today, several software industries are transforming their development methodologies to Agile due to its ability to deliver value in a short time and its cost efficiency. However, Agile methods prevent heavyweight modeling analysis and depend on user stories to drive the estimation process. Because user stories are descriptive language, they may not provide a clear picture for the implementation. Also, they may not help Agile developers give an accurate estimation due to their difficulty in measuring the complexity and size of a feature. Thus, this paper presents a new Agile artifact called developer story that allows the Agile developer to not only analyze and design software products but also predict the size of each feature, including its complexity. In this paper, a case study is presented that shows how the utilization of developer story is a practical approach in predicting the source code size of a feature and its complexity.

Research paper thumbnail of Experimental Evaluation of Static Source Code Analysis Tools

Shows that several open source and commercial coverage tools give different results on programs. ... more Shows that several open source and commercial coverage tools give different results on programs. These results differ more as the size of the programs grows.

Research paper thumbnail of Bio-Ethanol Reformer with HT-PEM Fuel Cell for Residential Combined Heat and Power Generation

The aim of the project presented here is the demonstration of a combined heat and power reformer ... more The aim of the project presented here is the demonstration of a combined heat and power reformer HT-PEM fuel cell system fuelled with bio-ethanol. The system combines the advantages of the fuel cell, i.e. high efficiency, low emissions, and low noise with those of bio-ethanol. This fuel represents a CO2-reduced approach to energy supply. It is non-toxic and commercially available worldwide. The technology significantly contributes to a move towards decentralization. In the system ethanol and water (at a steam to carbon ration of 2.5) are catalytically converted to a reformate gas with about 50 vol.-%dry H2 and 25 %dry CH4 and less than 1 %dry CO at temperatures of around 400 °C. This is achieved with an innovative catalyst. Due to the low CO content, the reformate gas can be fed directly to a HT-PEM fuel cell, where electricity and heat are produced. As opposed to conventional reformer fuel cell systems, no gas cleaning step is required. As a result, the system is much simpler. The ...

Research paper thumbnail of A suggested course in introductory computer programming

ACM SIGCSE Bulletin, 1981

Introductory programming courses have long been a popular topic of discussion. Often it is either... more Introductory programming courses have long been a popular topic of discussion. Often it is either the only computer course a student takes or it is the foundation upon which all further training in computer science is built. The usual goal of such a course is to introduce the student to the use of a computer to solve simple problems in his or her particular discipline. Generally the method of presenting the material may be separated into two distinct schools of thought, which we have termed the “Black Box School of Thought” and the “White Box School of Thought”. In this paper, we discuss the benefits and drawbacks associated with the two alternative approaches. Additionally, we present a suggested course outline using the “White Box” method.

Research paper thumbnail of The impact of global software cultural and linguistic aspects on Global Software Development process (GSD): Issues and challenges

In the last decade, we witnessed the dramatic transformation of software development processes. T... more In the last decade, we witnessed the dramatic transformation of software development processes. The transformation from single-site, mostly English-based into a multi-site, multilingual, multicultural, and globally distributed endeavor has marked the birth of Global Software Development (GSD). Based on an extensive review to the published literature we found that most of the attention has turned towards understanding the impact of

Research paper thumbnail of Towards Test Focus Selection for Integration Testing Using Method Level Software Metrics

2013 10th International Conference on Information Technology: New Generations, 2013

Research paper thumbnail of Empirical Evaluation of a New Coupling Metric: Combining Structural and Semantic Coupling

International Journal of Computers and Applications, 2014

ABSTRACT Coupling, a measure of the interdependence among software entities, is an important prop... more ABSTRACT Coupling, a measure of the interdependence among software entities, is an important property for which many software metrics have been defined. It is widely agreed that the extent of coupling in an object-oriented system has implications for its external quality. Structural and semantic relations between classes can be measured directly from static source code. However, both have limitations. In order to understand which aspects of coupling affect quality or other external attributes of software, this paper presents a new coupling metric for object-oriented systems that analyze structural and semantic relationships between methods and classes. The paper investigates the use of the new proposed coupling metric during change impact analysis, predicting fault-prone and maintainable classes. By comparing the new metric to other coupling metrics, we show that the new metric is a better predictor for classes impacted by changes. The new metric also shows good promise in predicting both external qualities (fault proneness and maintainability).

Research paper thumbnail of Understanding requirement engineering (REQ) from a software agent modeling perspective

2010 IEEE International Conference on Software Engineering and Service Sciences, 2010

Research paper thumbnail of Applying software complexity metrics to program maintenance

Research paper thumbnail of GUI Test Automation Framework

proceeding of the International Conference on …, 2007

Method and apparatus used for continuous casting of copper alloy rods for obtaining a fine grain ... more Method and apparatus used for continuous casting of copper alloy rods for obtaining a fine grain size therein. Liquidus copper alloy material flows from a reservoir area or crucible into a continuous casting die. Devices are included to cause agitation of the liquidus material as it enters the die so that no thermal gradients are large enough at the liquidus-solid state transition zone to produce gross directional solidification of the alloy. Devices which may be used to obtain the desired liquidus material agitation include a particular configuration and location for the die inlet openings, electromagnetic stirring and mechanical stirring.

Research paper thumbnail of Handling the incoming freshman and transfer students in computer science

ACM SIGCSE Bulletin, 1984

Computer Science programs throughout the country have had to cope with rapid increases in student... more Computer Science programs throughout the country have had to cope with rapid increases in students during the last few years. These students cause additional problems beyond those arising from their n u m b e r s , T h i s paper presents one p r o p o s a l for handling the differing backgrounds of new students, both freshmen and transfers. A very different approach has been presented in {4}. Students enter Computer Science undergraduate programs with three different types of backgrounds: (a). the student who Knows nothing about programming a computer; (b) the student who has had at least one course in high school o r who has learned to program a m i c r o c o m p u t e r on h i s o w n ; a n d ( c ) t h e t r a n s f e r s tuden t who has had some computer science courses, but whose courses do not cor respond c l o s e l y to your own. The students in-the last two groups have similar needs which are significantly different from students in the first group, In one of our. introductory courses for the fall, 1983 quarter, out of one hundred and fifty students, twenty-three fit the (b) category and tdenty-one fit the (c) category. We expect these numbers to increase greatly as high school computer programming courses become more common. T h e s e e x p e r i e n c e d s t u d e n t s Know much of the material in your first few computer science courses, but are missing important pieces of what those courses cover. If they are forced to take those introductory courses, their boredom with material they already Know often will cause them to miss material they need to learn. A further p r o b l e m i s t h e d i f f i c u l t i e s i n d e t e r m i n i n g e x a c t l y what they Know and what they do not Know. Knowing how to program in Pascal means very different things at different schools, for example. Of course, widespread faculty shortages mean a program cannot o f f e r course sequences oriented towards each possible type of s tuden t background. The next s e c t i o n o f this paper discusses one possible solution

Research paper thumbnail of A New Coupling Metric: Blending Structural and Semantic Relations

Software Engineering / 811: Parallel and Distributed Computing and Networks / 816: Artificial Intelligence and Applications, 2014

Research paper thumbnail of Software Internationalization: Crosscutting Concerns across the Development Lifecycle

2009 International Conference on New Trends in Information and Service Science, 2009

Many of the requirements of Globalized (Internationalized ) software that have a crosscutting imp... more Many of the requirements of Globalized (Internationalized ) software that have a crosscutting impact are scattered through the entire software. The impact of these requirements presents many challenges that manifest themselves throughout the software development lifecycle. Inherent properties of crosscutting requirements, such as scattering (where their support is scattered across multiple classes) and tangling (where their support is tangled with elements supporting other requirements), reduce the reusability, extensibility, and traceability of the software artifacts . Scattering and tangling are evident in the design and code of internationalized software and must be addressed fully. To remove scattering and tangling properties, developers must first identify and then separate the design and code of crosscutting behavior into independent modules or components. This paper discusses two important issues; when developers should identify and document crosscutting requirements; and whe...

Research paper thumbnail of Software Internationalization: Testing Methods for Bidirectional Software

2009 Fifth International Joint Conference on …, 2009

... For example, a user of a Western keyboard can input Chinese, Japanese, Korean and Indic chara... more ... For example, a user of a Western keyboard can input Chinese, Japanese, Korean and Indic characters. ... A Framework For The Integration Of Internationalization And Localization Activities Into The Software Development Process. ... The Art of Multilingual Software Testing. ...

Research paper thumbnail of QA/Testing Bidirectional Languages Software: Issues and Challenges

International Computer Software and Applications Conference, 2008

Testing global software differs from conventional software testing in that the test design approa... more Testing global software differs from conventional software testing in that the test design approach must consider the defined and implied issues of specific culture, language, date format, currency format, etc. In bi-directional software testing (software targeting Arabic, Hebrew, etc.) has many unique issues. Target users of Arabic software demand the same high quality standards as other users. Developers and localizers

Research paper thumbnail of The internet, intranets, and the AI renaissance

Research paper thumbnail of Test Case Selection Based on a Spectrum of Complexity Metrics

Research paper thumbnail of Deadlock detection in distributed database systems: a performance evaluation study

[1991] Proceedings The Fifteenth Annual International Computer Software & Applications Conference, 1991

A description is presented of a performance evaluation study of three proposed distributed deadlo... more A description is presented of a performance evaluation study of three proposed distributed deadlock detection algorithms, namely, fully centralized, partially distributed, and fully distributed deadlock detection algorithms. The authors investigate and describe the extent to which these algorithms provide an increase in the level of multiprogramming, and an increase in the number of blocked, restarted transactions. A list of performance

Research paper thumbnail of A theory of small program complexity

ACM SIGPLAN Notices, 1982

Small programs are those which are written and understood by one. person. Large software systems ... more Small programs are those which are written and understood by one. person. Large software systems usually consist of many small programs. The complexity of a small program is a prediction of how difficult it would be for someone to understand the program. This complexity depends of three factors: (1) the size and interelationships of the program itself; (2) the size and interelationships of the internal model of the program's purpose held by the person trying to understand the program; and (3) the complexity of the mapping between the model and the program. A theory of small program complexity based on these three factors is presented. The theory leads to several testable predictions. Experiments are described which test these predictions and whose results could verify or destroy the theory.

Research paper thumbnail of The user-definable interface project

ACM SIGSOFT Software Engineering Notes, 1984

Research paper thumbnail of Applying Software Design Metrics to Developer Story: A Supervised Machine Learning Analysis

2019 IEEE First International Conference on Cognitive Machine Intelligence (CogMI), 2019

Object-oriented analysis is a significant step that plays a vital role in the success of software... more Object-oriented analysis is a significant step that plays a vital role in the success of software development. The planning and management stages, in particular, profoundly rely on the deliverance of an accurate estimate that takes the software's complexity and size into consideration. Today, several software industries are transforming their development methodologies to Agile due to its ability to deliver value in a short time and its cost efficiency. However, Agile methods prevent heavyweight modeling analysis and depend on user stories to drive the estimation process. Because user stories are descriptive language, they may not provide a clear picture for the implementation. Also, they may not help Agile developers give an accurate estimation due to their difficulty in measuring the complexity and size of a feature. Thus, this paper presents a new Agile artifact called developer story that allows the Agile developer to not only analyze and design software products but also predict the size of each feature, including its complexity. In this paper, a case study is presented that shows how the utilization of developer story is a practical approach in predicting the source code size of a feature and its complexity.

Research paper thumbnail of Experimental Evaluation of Static Source Code Analysis Tools

Shows that several open source and commercial coverage tools give different results on programs. ... more Shows that several open source and commercial coverage tools give different results on programs. These results differ more as the size of the programs grows.

Research paper thumbnail of Bio-Ethanol Reformer with HT-PEM Fuel Cell for Residential Combined Heat and Power Generation

The aim of the project presented here is the demonstration of a combined heat and power reformer ... more The aim of the project presented here is the demonstration of a combined heat and power reformer HT-PEM fuel cell system fuelled with bio-ethanol. The system combines the advantages of the fuel cell, i.e. high efficiency, low emissions, and low noise with those of bio-ethanol. This fuel represents a CO2-reduced approach to energy supply. It is non-toxic and commercially available worldwide. The technology significantly contributes to a move towards decentralization. In the system ethanol and water (at a steam to carbon ration of 2.5) are catalytically converted to a reformate gas with about 50 vol.-%dry H2 and 25 %dry CH4 and less than 1 %dry CO at temperatures of around 400 °C. This is achieved with an innovative catalyst. Due to the low CO content, the reformate gas can be fed directly to a HT-PEM fuel cell, where electricity and heat are produced. As opposed to conventional reformer fuel cell systems, no gas cleaning step is required. As a result, the system is much simpler. The ...

Research paper thumbnail of A suggested course in introductory computer programming

ACM SIGCSE Bulletin, 1981

Introductory programming courses have long been a popular topic of discussion. Often it is either... more Introductory programming courses have long been a popular topic of discussion. Often it is either the only computer course a student takes or it is the foundation upon which all further training in computer science is built. The usual goal of such a course is to introduce the student to the use of a computer to solve simple problems in his or her particular discipline. Generally the method of presenting the material may be separated into two distinct schools of thought, which we have termed the “Black Box School of Thought” and the “White Box School of Thought”. In this paper, we discuss the benefits and drawbacks associated with the two alternative approaches. Additionally, we present a suggested course outline using the “White Box” method.

Research paper thumbnail of The impact of global software cultural and linguistic aspects on Global Software Development process (GSD): Issues and challenges

In the last decade, we witnessed the dramatic transformation of software development processes. T... more In the last decade, we witnessed the dramatic transformation of software development processes. The transformation from single-site, mostly English-based into a multi-site, multilingual, multicultural, and globally distributed endeavor has marked the birth of Global Software Development (GSD). Based on an extensive review to the published literature we found that most of the attention has turned towards understanding the impact of

Research paper thumbnail of Towards Test Focus Selection for Integration Testing Using Method Level Software Metrics

2013 10th International Conference on Information Technology: New Generations, 2013

Research paper thumbnail of Empirical Evaluation of a New Coupling Metric: Combining Structural and Semantic Coupling

International Journal of Computers and Applications, 2014

ABSTRACT Coupling, a measure of the interdependence among software entities, is an important prop... more ABSTRACT Coupling, a measure of the interdependence among software entities, is an important property for which many software metrics have been defined. It is widely agreed that the extent of coupling in an object-oriented system has implications for its external quality. Structural and semantic relations between classes can be measured directly from static source code. However, both have limitations. In order to understand which aspects of coupling affect quality or other external attributes of software, this paper presents a new coupling metric for object-oriented systems that analyze structural and semantic relationships between methods and classes. The paper investigates the use of the new proposed coupling metric during change impact analysis, predicting fault-prone and maintainable classes. By comparing the new metric to other coupling metrics, we show that the new metric is a better predictor for classes impacted by changes. The new metric also shows good promise in predicting both external qualities (fault proneness and maintainability).

Research paper thumbnail of Understanding requirement engineering (REQ) from a software agent modeling perspective

2010 IEEE International Conference on Software Engineering and Service Sciences, 2010

Research paper thumbnail of Applying software complexity metrics to program maintenance

Research paper thumbnail of GUI Test Automation Framework

proceeding of the International Conference on …, 2007

Method and apparatus used for continuous casting of copper alloy rods for obtaining a fine grain ... more Method and apparatus used for continuous casting of copper alloy rods for obtaining a fine grain size therein. Liquidus copper alloy material flows from a reservoir area or crucible into a continuous casting die. Devices are included to cause agitation of the liquidus material as it enters the die so that no thermal gradients are large enough at the liquidus-solid state transition zone to produce gross directional solidification of the alloy. Devices which may be used to obtain the desired liquidus material agitation include a particular configuration and location for the die inlet openings, electromagnetic stirring and mechanical stirring.

Research paper thumbnail of Handling the incoming freshman and transfer students in computer science

ACM SIGCSE Bulletin, 1984

Computer Science programs throughout the country have had to cope with rapid increases in student... more Computer Science programs throughout the country have had to cope with rapid increases in students during the last few years. These students cause additional problems beyond those arising from their n u m b e r s , T h i s paper presents one p r o p o s a l for handling the differing backgrounds of new students, both freshmen and transfers. A very different approach has been presented in {4}. Students enter Computer Science undergraduate programs with three different types of backgrounds: (a). the student who Knows nothing about programming a computer; (b) the student who has had at least one course in high school o r who has learned to program a m i c r o c o m p u t e r on h i s o w n ; a n d ( c ) t h e t r a n s f e r s tuden t who has had some computer science courses, but whose courses do not cor respond c l o s e l y to your own. The students in-the last two groups have similar needs which are significantly different from students in the first group, In one of our. introductory courses for the fall, 1983 quarter, out of one hundred and fifty students, twenty-three fit the (b) category and tdenty-one fit the (c) category. We expect these numbers to increase greatly as high school computer programming courses become more common. T h e s e e x p e r i e n c e d s t u d e n t s Know much of the material in your first few computer science courses, but are missing important pieces of what those courses cover. If they are forced to take those introductory courses, their boredom with material they already Know often will cause them to miss material they need to learn. A further p r o b l e m i s t h e d i f f i c u l t i e s i n d e t e r m i n i n g e x a c t l y what they Know and what they do not Know. Knowing how to program in Pascal means very different things at different schools, for example. Of course, widespread faculty shortages mean a program cannot o f f e r course sequences oriented towards each possible type of s tuden t background. The next s e c t i o n o f this paper discusses one possible solution

Research paper thumbnail of A New Coupling Metric: Blending Structural and Semantic Relations

Software Engineering / 811: Parallel and Distributed Computing and Networks / 816: Artificial Intelligence and Applications, 2014

Research paper thumbnail of Software Internationalization: Crosscutting Concerns across the Development Lifecycle

2009 International Conference on New Trends in Information and Service Science, 2009

Many of the requirements of Globalized (Internationalized ) software that have a crosscutting imp... more Many of the requirements of Globalized (Internationalized ) software that have a crosscutting impact are scattered through the entire software. The impact of these requirements presents many challenges that manifest themselves throughout the software development lifecycle. Inherent properties of crosscutting requirements, such as scattering (where their support is scattered across multiple classes) and tangling (where their support is tangled with elements supporting other requirements), reduce the reusability, extensibility, and traceability of the software artifacts . Scattering and tangling are evident in the design and code of internationalized software and must be addressed fully. To remove scattering and tangling properties, developers must first identify and then separate the design and code of crosscutting behavior into independent modules or components. This paper discusses two important issues; when developers should identify and document crosscutting requirements; and whe...

Research paper thumbnail of Software Internationalization: Testing Methods for Bidirectional Software

2009 Fifth International Joint Conference on …, 2009

... For example, a user of a Western keyboard can input Chinese, Japanese, Korean and Indic chara... more ... For example, a user of a Western keyboard can input Chinese, Japanese, Korean and Indic characters. ... A Framework For The Integration Of Internationalization And Localization Activities Into The Software Development Process. ... The Art of Multilingual Software Testing. ...

Research paper thumbnail of QA/Testing Bidirectional Languages Software: Issues and Challenges

International Computer Software and Applications Conference, 2008

Testing global software differs from conventional software testing in that the test design approa... more Testing global software differs from conventional software testing in that the test design approach must consider the defined and implied issues of specific culture, language, date format, currency format, etc. In bi-directional software testing (software targeting Arabic, Hebrew, etc.) has many unique issues. Target users of Arabic software demand the same high quality standards as other users. Developers and localizers

Research paper thumbnail of The internet, intranets, and the AI renaissance

Research paper thumbnail of Test Case Selection Based on a Spectrum of Complexity Metrics

Research paper thumbnail of Deadlock detection in distributed database systems: a performance evaluation study

[1991] Proceedings The Fifteenth Annual International Computer Software & Applications Conference, 1991

A description is presented of a performance evaluation study of three proposed distributed deadlo... more A description is presented of a performance evaluation study of three proposed distributed deadlock detection algorithms, namely, fully centralized, partially distributed, and fully distributed deadlock detection algorithms. The authors investigate and describe the extent to which these algorithms provide an increase in the level of multiprogramming, and an increase in the number of blocked, restarted transactions. A list of performance