Software Engineering

Software Engineering

  • Peter T Breuer added an answer:
    Does anyone know how to perform mutliple concurrent calls to the "qHull" C library?

    I am developing a C program that at some point has to compute "n" convex hulls on the basis of "n" disjoint set of points.

    I would like to execute all these calls in parallel and, given the poor documentation available on the qHull library website, I would like to know if anyone has some sort of template to solve this problem.

    Thank you in advance for considering my request.



    Peter T Breuer · Birmingham City University

    Are you saying that it should be different from calling to any other library function simultaneously? Is the problem that you don't know if the function in question is reentrant or not?

    Surely the documentation will say that at least! In any case, it will quickly become obvious after one trial :-). And you can always glance at the source code of the function to resolve unknowns like that. I daresay the code will contain comments that are pretty forthright on the issue ["here be dragons"].

    Anyway, you can always set up two copies of the library to call to from the two simultaneous threads. Open the library yourself from the two threads, using a dlopen() call from each, rather than relying on the system's link-loader to do it in the parent.

    [I'm assuming you're running on something vaguely unixy/posix, such as Linux.]

  • Boriss Misnevs added an answer:
    How to remove "art" from software engineering?
    The purpose is to remove human variability (or "art") to reduce cost and increase predictability.
    Can the use of process fully remove "art"?
    What "art" (if any) can't be removed by process?
    Boriss Misnevs · Transport and Telecommunication Institute

    I would recommend the process capability approach defined in CMMI models.

    Mature processes require less "art" from developers.

  • Shallu Madan added an answer:
    What are the latest developments in green software engineering and sustainable software engineering?

    Recent research in green and sustainable software engineering.

    Shallu Madan · Hindu College of Engineering

    the research directions are energy efficient software,measure for green sw ,implementing green sw through requirements

  • Victoria Pinkney-Atkinson added an answer:
    When doing thematic analysis is it acceptable to use one initial code for developing more than one theme?

    I use thematic analysis for developing a thematic framework, which encompasses knowledge about software maintenance in a small software company. I have a case that one initial code, in combination with different sets of other codes, creates two themes. Since, several prominent researchers stress the importance of flexibility and creativity in qualitative research, I feel that this is acceptable decision.

    What is your opinion about this issue?

    Victoria Pinkney-Atkinson · South African NonCommunicable Disease Alliance

    Hi Zeljko

    it probably depends on the theoretical perspective from which you are approaching the topic.

    In grounded theory and some other qualitative methodologies the ideas is to find a core variable ( could read theme or category) that holds the research together. then it is not a problem. It is what you need to do.

    In study of care for patients with long-term illnesses. The core variable emerged as "knowing" which linked to ways of relating to patient, patients to their illness, nurses to knowledge about patients, illness and scientific stuff. Some patients didn't want to know..... "talking to a brick wall".  It was then possible to link this to theory about knowledge and caring!

    The links don't have to be hierarchical - there are all kinds or relationships possible. Some ethnographic researchers like Spradley have a matrix to help you work out how things relate to each other.

    Hope this helps


  • Ali Daud added an answer:
    What are the approaches used for evaluation of the effectiveness of software effort estimation models?
    In order to estimate efforts for a software project we need to use a software cost estimation model. I want to know whether we do have methods in place to check the effectiveness and reliability for checking the software cost estimation models.
    Ali Daud ·

    Cost Estimation has always remained a focus area for researchers of different fields. For software engineering, a better cost estimation becomes more important with the fact that two- thirds of all major projects substantially overrun their original estimates. Software cost estimation is a complex activity that requires knowledge of a number of key attributes about the project. On the other hand there are diverse kinds of techniques available to predict cost estimation, each of which is having certain pros and cons. Line of code (LOC) can be considered as one of the earliest methods used for estimation purpose, i.e. how much a lines of code a programmer/developer has written on a punch card. With the emergence of high level languages and then advancement in coding environment, the LOC became insufficient. Therefore researchers were forced to come up with new and innovative ideas in this domain. All around the world, currently many tools, techniques and strategies are being practiced. Pakistan, being one of the heavily outsourced countries, thanking to its cheap labor, has also employed some techniques for cost estimation. This study is focused on Pakistani software houses with intention of exploring the software cost estimation methods, models and techniques along with current state of practice. This study also analysis the factors which are affecting the selection of software cost estimation methods/models in Pakistan software industry.

    have a look at this

  • Rahul Kapse added an answer:
    Which type of testing technique covers all coverage like code, path, statement etc., in a better way?

    There are many type of testing techniques available, whether all techniques covers code, boundary, statement coverage?

    Rahul Kapse · Pillai Hoc College Of Engineering And Technology

    White box testing – This testing is based on knowledge of the internal logic of an application’s code.  Internal software and code working should be known for this type of testing. Tests are based on coverage of code statements, branches, paths, conditions.

  • Steven Ong added an answer:
    What are interaction related error in software testing and how to define them?

    In software testing we solve different kind of errors. What are interaction related error in software testing? Interaction means relationship between functions, module or components.
    How can we formally define an error?

    Steven Ong · Weatherford International

    You can define the errors formally as the following:

    Given a function F and a set of input I which belong to a domain D in such that the inputs in I will yield a definite one to one mapping to the answers set A (i.e., outputs) once feeding into F.

    To test:

    Define a finite set of I' which is a subset of I and a set A' which is a subset of A that all members in I' and A' are one to one, and feed I' into F one by one. Compare the results with the set A'. Since all members of A' and I' have one to one relationship via F, anything produces from member in I' through F that is not in A' is an error.

    I believe this is the underlined principle of unit testing (e.g., JUnit, CPPTest, etc.) (without all the formal stuffs, of course :-) ).

    Good luck,


  • Selvarajah Thuseethan added an answer:
    What role does usability evaluation play in testing software especially when it has to do with human-computer interaction?
    In human computer interaction, users of software can provide feedback on the performance of a particular software. What role does usability evaluation play in ascertaining the production of high-quality software?
    Selvarajah Thuseethan · Sabaragamuwa University of Sri Lanka

    Refer the following article

  • Hasan Kahtan added an answer:
    What are the arguments both in favor and against this technique when it is applied to security rather than dependability?


    Hasan Kahtan · National University of Malaysia

    The terms “dependability”‎ and “security”‎ have been used interchangeably to describe the properties of secure and trusted software.

    However, the extant literature shows that dependability attributes are considered as the cure for security threats, abnormal behavior and untrustworthy issues in a software system.

    A system is considered dependable when it can be depended on to produce the consequences for which it was designed, with no adverse effect in its intended environment. Dependability comprises several attributes that imply availability, confidentiality, integrity, reliability, safety, and maintainability.

    Methods and tools to attain the dependability attributes have been discussed in details in my previous publications.

    I hope this can help you. Good luck.

  • Hossein Doroud added an answer:
    How can I extract basic and derived features from network traffic data captured using TCPdump?

    After capturing network traffic using TCPDUMP, how can the basic and derived features e.g protocol type, src_bytes, dst_bytes be extracted.

    Hossein Doroud · University Carlos III de Madrid

    I usually netmat for these purpose but if you are looking for packet inter arrival time, packet length and packet size then you can also use TIE:

  • Zeljko Stojanov added an answer:
    Which is the best area in which empirical software engineering can be applied ?

    Dear All,

    What is area in which empirical software engineering be applied? Can be used in evaluating UML diagrams ?

    Zeljko Stojanov · University of Novi Sad

    Dear Nakul,
    empirical methods can be used in any are of software engineering. Choosing the most appropriate method depends on your research goal and research design. You can start with reading some general articles about empirical software engineering, like

    Barbara A. Kitchenham, Shari Lawrence Pfleeger, Lesley M. Pickard, Peter W. Jones, David C. Hoaglin, Khaled El Emam, Jarrett Rosenberg, "Preliminary Guidelines for Empirical Research in Software Engineering," IEEE Transactions on Software Engineering, vol. 28, no. 8, pp. 721-734, Aug. 2002, doi:10.1109/TSE.2002.1027796.

    Timothy C. Lethbridge, Susan Elliott Sim, and Janice Singer. 2005. Studying Software Engineers: Data Collection Techniques for Software Field Studies. Empirical Software Engineering, Volume 10, Issue 3, July 2005, pp. 311-341. DOI: 10.1007/s10664-005-1290-x.

    The best approach is to conduct the research in the area you are the most interested. Read as much as you can about research methods in order to get better insight in available options, and read empirical studies in the most influential software engineering journals to see how other conduct and report empirical research.

    Good luck.

  • Persis Pratap added an answer:
    Is there any automatic/manual procedure/tools to generate a petri net model from a source code?
    Persis Pratap · Madras Christian College

    yes, Please try WOPED , a free open source software available

  • Birol Aygün added an answer:
    What is the most commonly used standard for software engineering life cycle ?

    And is there a popular standard for testing and maintenance specifically.  

    Birol Aygün · Yeditepe University

    It would be good education for the questioner if he downloaded the (300+page) Swebok 3 tome and browsed through it.  He would find a lot of potentially useful information, but not the answer to his specific question. Further, there is nothing in Swebok invalidating my recommendation under the conditions I specified.

  • Hanan Aqilan added an answer:
    Do you know any papers on verification of dependency injection modules/IOC containers?

    Dependency injection (DI) is a great pattern/principle to make code better configurable and testable. 

    Using a framework (in Java) such as Guice (or any other JSR 330 implementation), or some other so called "inversion of control (IOC) container", really simplifies using DI. But even the most simple usages are often problematic. E.g. (with an JSR330 annotation with field injection):

    class C {  @Inject X x; }

    This class must not be created via new in normal client code, because then x cannot be injected. Also, assuming X is an interface, there needs to be a configuration (binding) for X.

    I'm wondering if there exist any work on verifying these kind of situations. Are there any IDEs or tools implementing such verification (e.g., creating at least a warning if, given the example above, C is created via new or if no binding for X is detected)? Of course there are many more problems, such as DI cycles etc. 

    Do yo know any research addressing these and other issues?

    So far, I have only found a single paper [HH13], but this paper only scratches the surface. It defines two constraints which are to be satisfied: Compatibility (a binding T to an injected type D must be a subtype: T<:D) and completeness (for all D: exists binding T). Unfortunately, the paper does not handle cases such as scoping, multiple modules etc. And even the simple case of new constructor call as shown in the example is not handled.

    [HH13] Hudli, Shrinidhi R. ; Hudli, Raghu V.: A Verification Strategy for Dependency Injection. DOI 10.7763/LNSE.2013.V1.16. In: Lecture Notes on Software Engineering 1 (2013), Nr. 1, S. 71–74

    Hanan Aqilan · University of Jordan

    Check this out: 

  • Rupert Schlick added an answer:
    How can I measure coverage by fault injection?

    In software testing, fault injection is a technique for improving the coverage of a test by introducing faults to test code paths, in particular error handling code paths, that might otherwise rarely be followed.

    let's take this scenario:

    I inject '25' faults in the code and implement two techniques(A, B). suppose 'A' discovers 10 faults and 'B' discovers 15 faults. So as a result B technique is better than A or coverage area of B is better than A.

    So is there any mathematical term to find the coverage? Or how to define it in a formal way? 

    Can i calculate like this,

    coverage of A is (10/25)*100 = 40%

    coverage of B is (15/25)*100 = 60%

    As a result, difference between coverage area of B over A is 20%.

    Rupert Schlick · AIT Austrian Institute of Technology

    Dear Muhammad,

    it is not fully clear to me if what you have in mind is related to mutation testing, as Stefan mentioned, or if you are actually trying to test fault handling mechanisms (like storing information redundantly in two places, to recognize bit-flips in memory - which is not easily done without changing the code itself to emulate those faults).

    Independent of that, if you want to compare test design methods, achieving a high coverage (by whatever coverage metric ever), you will always want to look at what is the "shared" coverage between two methods. So if the 10 "items" covered by your Method A are included in the 15 of your Method B, you could suggest dropping the use of Method A as not gaining anything (B clearly better than A). If none of the covered items of Method A are  included in the ones from Method B, you would apply both methods and gain 100% coverage. In this case none of the single methods is really better than the other.

    And of course, coverage evaluations need to be done on a larger set of systems under test. What works well in one instance might be less than satisfying in the other.



  • Dr-Ahmed Serwa added an answer:
    How can I apply generalized learning vector quantization (GLVQ) for cluster unlabel data?

    How to applied generalized learning vector quantizatio (GLVQ) for cluster unlabel data? Do you have any ideas or suggestions? please help me!

    Dr-Ahmed Serwa · Helwan University

    I Developed SW that applies most of AI clustering methods contact me if you interested

  • Maya Daneva added an answer:
    What are the best excel templates available online for effort estimation of software development projects using use case point model?

    What are the best excel templates available online for effort estimation of software development projects using use case point model?

  • Khaled Osama Darwish added an answer:
    Are any tools available for simulating the authentication part in Mobile Cloud Computing?

    I am looking for a tool to simulate the authentication in MCC environment.

    I just need to know how to test the security level of communication channels during the session in the mobile cloud environment.

    Khaled Osama Darwish · Ain Shams University

    Sure, you can take a look for SONORA, MobiCloud, and CloudSim Projects. Also, if you have some of those resources please let me know 

  • Peter T Breuer added an answer:
    Question in simulations - do people feel better when md5 ziped treearchs would be able to exeed maximal path length in os ?

    Is there a possibility as engineer to comprimise treedepth to an md5 hash sum path description - yes - so template engineering but - if people could use databases with hierarchies they would easily like to describe this own frameformat in the treeview itselve. Isn't it ?

    Peter T Breuer · Birmingham City University

    "you would surely only give me reason with it if i give - while that so ?? is". What? Is there a problem there? I don't speak german, despite my name, and that isn't german! What is that? Lower Saxon? I could manage high german if you prefer to write that. Perhaps that would help? Vieleicht willst Du gerner was Du meinst auf (Hoch)Deutsch schreiben?

  • Arooj Fatima added an answer:
    What is the most important consideration in the initial planning of software solutions(or packages) development?

    * Example solution : healthcare solution(eg. EHR,EMR), financial solution, EPM Solution,...

    Arooj Fatima · Anglia Ruskin University

    In my opinion the most important consideration is the target audience and then the requirement specification which includes project objectives, scope and persona users.  

  • Muhammad Iqbal Hossain added an answer:
    How do I measure FAN-OUT/FAN-IN?

    Fan-in is a measure of the number of functions or methods that call some other function or method (say X). Fan-out is the number of functions that are called by function X. It is used as a call graph based metrics. My question is how to measure fan-in/out from a call graph and where we can use this metrics?

    A sample call graph is given as follows.

    Muhammad Iqbal Hossain · Kyungpook National University

    Thanks Maya Daneva for your reply.
    I am trying to calculate fan in-out to measure dependency between functions. I am wondering if it is possible to evaluate my testing technique with this.

  • Jamil Ahmad added an answer:
    Is there any suggested literature on continuous systems simulation?
    I am interested in the study of continuous systems. Can anyone provide me with materials/links that deal extensively with the subject?
    Jamil Ahmad · National University of Science and Technology

    If you are familiar with computational models like automata, then you could also use continuous petri nets and the tool snoopy for simulation.

  • Maya Daneva added an answer:
    How can I measure size of software system by number of functions?

    In Procedural Programming structure a problem is divided into smaller sub-problems or sub-procedures which can be called as function. A software can be small, medium, large, extra large, ultra large etc. Is there any standard to measure the size of a system by number of functions? Can anyone give me some reference of surveys on it? For example 5-10 function(small), 10-50 functions(medium), 200+ function(extra large).

  • Stanimir Kabaivanov added an answer:
    What are the known issues for CAN Bus development with Infineon Dave3 for the XMC 4000 series?

    We are currently developing a 1Mbit CAN Bus Interface with the XMC 4500 chips for analog and digital car related sensors (RPM, Gyroscope, Pedals, Temperature). What are the known issues that have come up during the development of similar systems that one should be aware of and prepare for in advance?

    Stanimir Kabaivanov · Plovdiv University "Paisii Hilendarski"

    Well, honestly it is not that easy to provide a definite answer. I can try to answer it based on my experience but with the remark that this answer is still a kind of "speculative" :) one.

    In general to keep up the "responsiveness" of the bus and the nodes one should not have more than 30% bus load. If you go to 60-70% then you risk on loosing data (but of course this all depends a bit on the nodes too).

    I would recommend to use a calculator, like the one here:

  • Paul Anthony Dennis added an answer:
    How can I calculate intraclass correlations for a hierarchical data with binary outcomes?

    My modeled process has binary outcomes and site and region grouping. I am modeling it with a generalized linear mixed model (using GLIMMIX) and a diagonalized covariance structure. Typically I see covariance component based formulas for ICC calculation in the literature. GLIMMIX gives me the covariance of the site indicator and the region indicator variables but not the error variance I need to fill out the formulas. I have seen a suggestion to use 3.29 (pi**2/3) as the error variance when the dispersion is near 1.0, but am not sure this is right.

    Paul Anthony Dennis · Durham VA Medical Center, Durham, United States

    Instead of using a 'random intercept' statement, try modeling the R-side residuals with 'random _residual_'. This option can be used if dispersion is not equal to 1. Here's the support documentation:

    Hope that helps!

  • Wishnu Prasetya added an answer:
    How can I create state model representation in Model based testing?

    Model based testing is a derivative of Unified Modeling Language (UML) concepts. Usually state machine diagram, interaction diagram etc are used to represent the behavior of system. ATM, Elevator, Vending machines are popular examples for deriving these diagrams. I think these examples are easy to represent in UML diagrams because they contain states and transition. What about other examples which doesn't have explicit state or transition? Like triangle program, sorting problem or search program etc. How can I represent them with state machine?

    Wishnu Prasetya · Universiteit Utrecht

    Well, the Triangle program, or a sorting program, behave more like mathematical functions.  These things do not have a concept of state; so a state machine is not a sensical way to model their behavior. Indeed, they may have internal state (e.g. the value of some local variables at some point in their statement), but their progress from one internal state to another is not something you can control from its interface; to point out that a state machine is not an appropriate way to drive their testing. 

  • Guido Governatori added an answer:
    Are there catalogs with examples of commonsense inference (plausible inference)?

    I am interested in assessing how well certain probabilistic logic languages such as Problog2 implement plausible reasoning, an example of which is "explaining away".

    There are only a few references within AI/Math (see below) which describe patterns of plausible reasoning which are part of human commonsense. My interest is specifically causal plausible (plausal?) inference.

    Are you aware of any philosophy or psychology scholars that I might consult to find references within those domains? Ideally I want extensive catalogs of commonsense reasoning patterns, or plausible reasoning patterns, with examples.

    Patterns of Plausible Reasoning References

    V. Lifschitz, “Benchmark problems for formal nonmonotonic reasoning,” Non-Monotonic Reason., no. June 1988, pp. 202–219, 1989.

    Polya, George, George Pólya, and George Pólya. Patterns of plausible inference. Vol. 968. Princeton, NJ: Princeton University Press, 1968.

    Guido Governatori · National ICT Australia Ltd

    A good collection of common sense problems is maintained by Leora Morgensten at 

  • Juha-pekka Tolvanen added an answer:
    Any advice on designing a graphical diagram system to develop accounting software?

    in this i mainly targeting on identify drag and drop components to the interface creation and getting use of oop cocept and use of design pattern go to the gui and auto generating part so that still.i haven,t no idea i can climb this me a path?in this accounting mean that programme out the reports that need for accounting i want to create a tool that help to people that haven't knowledge about programming they never touch on the language part .help me to enter this it ok with go though database or gui.

    Juha-pekka Tolvanen · MetaCase

    If your interest is to specify - as far as I understood – GUI elements then most likely domain-specific languages like IFML will do the job. Your users woudl then model with ’sceen’, ’button’, ’navigation’ concepts and not programming concepts like classes, inheritance etc of UML.

    If you interest is to go beyind GUI and addess also business logic of accounting and ask users to specify them I woudl then provide a domain-specific language for them. That language would most likely model ’data’, ’transction’, or be even specific for accounting including ’banking day’ etc. as language constructs.

    For case of this approach see:

About Software Engineering

Software engineering and the application of knowledge-based, simulation-based, data-driven, human-centred and automated approaches.

Topic Followers (82,076) See all