70 research outputs found

    Removing dependencies from large software projects: Are you really sure?

    No full text
    When developing and maintaining large software systems, a great deal of effort goes into dependency management. During the whole lifecycle of a software project, the set of dependencies keeps changing to accommodate the addition of new features or changes in the running environment. Package management tools are quite popular to automate this process, making it fairly easy to automate the addition of new dependencies and respective versions. However, over the years, a software project might evolve in a way that no longer needs a particular technology or dependency. But the choice of removing that dependency is far from trivial: one cannot be entirely sure that the dependency is not used in any part of the project. Hence, developers have a hard time confidently removing dependencies and trusting that it will not break the system in production. In this paper, we propose a decision framework to improve the detection of unused dependencies. Our approach builds on top of the existing dependency analysis tool DepClean. We start by improving the support of Java dynamic features in DepClean. We do so by augmenting the analysis with the state-of-the-art call graph generation tool OPAL. Then, we analyze the potentially unused dependencies detected by classifying their logical relationship with the other components to decide on follow-up steps, which we provide in the form of a decision diagram. Results show that developers can focus their efforts on maintaining bloated dependencies by following the recommendations of our decision framework. When applying our approach to a large industrial software project, we can reduce one-third of false positives when compared to the state-of-the-art. We also validate our approach by analyzing dependencies that were removed in the history of open-source projects. Results show consistency between our approach and the decisions taken by open-source developers.Green Open Access added to TU Delft Institutional Repository 'You share, we take care!' - Taverne project https://www.openaccess.nl/en/you-share-we-take-care Otherwise as indicated in the copyright section: the publisher is the copyright holder of this work and the author uses the Dutch legislation to make this work public.Software EngineeringSoftware Technolog

    Costs of Flying Units in Air Force Active and Reserve Components

    No full text
    This report describes a methodology for compiling and comparing the costs of Air Force active- and reserve-component flying units. Using data from the Air Force Total Ownership Cost system, the author estimates the cost of operating the Air Force’s active and reserve C-130, KC-135, and F-16 fleets; highlights how cost considerations favor the active and reserve components differently; and discusses how this can inform force mix decisions

    Manganese-Mediated C-C Bond Formation: Alkoxycarbonylation of Organoboranes

    No full text
    Alkoxycarbonylations are important and versatile reactions that result in the formation of a new C-C bond. Herein, we report on a new and halide-free alkoxycarbonylation reaction that does not require the application of an external carbon monoxide atmosphere. Instead, manganese carbonyl complexes and organo(alkoxy)borate salts react to form an ester product containing the target C-C bond. The required organo(alkoxy)borate salts are conveniently generated from the stoichiometric reaction of an organoborane and an alkoxide salt and can be telescoped without purification. The protocol leads to the formation of both aromatic and aliphatic esters and gives complete control over the ester's substitution (e.g., OMe, OtBu, OPh). A reaction mechanism was proposed on the basis of stoichiometric reactivity studies, spectroscopy, and DFT calculations. The new chemistry is particularly relevant for the field of Mn(I) catalysis and clearly points to a potential pathway toward irreversible catalyst deactivation. ChemE/Inorganic Systems EngineeringChemE/Algemee

    Modelling Discrete Dislocation Dynamics with Discontinuity-Enriched Finite Element Analysis

    No full text
    Discrete Dislocation Dynamics concerns the analysis of microplasticity in which the dislocations, a line defect in the crystallographic periodicity, are treated as separate moving entities inside an elastic continuum. This analysis at the mesoscale can give valuable insights in the nature of dislocations and the behaviour of macroscopic plasticity. Although an analytical solution for dislocations exist, special measures are to be taken for the solution of boundary value problems. In this thesis a Discrete Dislocation Dynamic model in a two-dimensional plane-strain formulation for edge dislocations is proposed using DE-FEM, a finite element formulation enriched with discontinuities to model dislocations independent of the mesh. Although the modelling of a stationary field with dislocations is straightforward, the dynamic solution becomes much more complicated. It requires the accurate stress retrieval of the numerical stresses close to an artificial singularity and various attempts, such as eliminating the singularity by subtracting the analytical solution or incorporating a singular core enrichment, were proven to be ineffective. Recommendations are given for future attempts, but also an alternative numerical superposition approach is explained. Its results are comparable to existing methods in terms of accuracy, but the computation time is not optimal for the current implementation.Mechanical Engineering | Precision and Microsystems Engineerin

    How to remove dependencies from large software projects with confidence

    No full text
    Dependency management is an important task in software maintenance. However, identifying and removing unused dependencies takes a lot of effort from developers as existing tools may discover many false positives which are challenging to distinguish. This paper proposes a decision framework to improve unused dependency detection. It is applied to an industrial Maven project. Firstly, OPAL(a call graph tool) augments the call graph of a dependency analysis tool DepClean to support dynamic features of Java. Secondly, the classification of the relationship between dependencies simplifies the comprehension of an unused dependency. Thirdly, a decision process prioritizes the test of removing unnecessary dependencies. Results show that developers can focus their efforts on maintaining bloated dependencies by following the recommendation of the proposed decision process. It is particularly noteworthy that this decision framework helps reduce one-third of false positives of unused dependencies in a given industrial Maven project. In addition, our suggestions are compared to the motive of removing dependencies in three open-source Maven projects. Results indicate that our advice is consistent in the reasoning behind removing dependencies. Hence, this work reduces the effort for developers to decide on dependency elimination.Electrical Engineering | Embedded System

    Tooling to Detect Unwanted Thread Exits in Rust

    No full text
    Technolution is a company that specializes in building embedded and information systems, in which software plays a key role. Recently, Technolution is transitioning from the use of C in embedded systems, to Rust, a relatively new programming language developed by Mozilla. By design, Rust provides the programmer with higher security and reliability guarantees, such as memory safety, type safety and the absence of race conditions. These guarantees are ensured by means of an expressive ownership-based type system. However, it is impossible for the Rust type system to detect all errors statically. Hence, there are still many operations that contain dynamic checks to test for erroneous conditions. When such a check fails, an unrecoverable problem has been encountered and the current thread exits, this is called a panic in Rust. A panic causes the program to terminate, leading to a decrease in availability of the system. To avoid situations causing panic, Technolution wants tooling that detects possible ways a program could panic. For this purpose, we developed a static analysis tool: Rustig. When given a program, Rustig notifies the user of all the operations that either directly, or indirectly via another library, may cause a panic. The tools performs the analysis of panic calls in two stages. First, it builds a call graph from the executable of a Rust program, modelling functions as nodes and function calls as directed edges. Secondly, it performs an analysis on the call graph to determine which functions could cause panic. As part of the development of Rustig, we devised two new approaches. We have developed an approach to construct call graphs taking into account dynamic dispatch calls. This is based upon the assumption once a function address is loaded, it will also be called during execution. Furthermore, in order to efficiently analyze the call graph, a simplification of the all paths problem is proposed. In contrast with the all paths problem, the simplification is solvable in polynomial time. The approach involves finding the shortest path for every crossing edge on a graph cut

    Impact of increased phenol loading rate on the phenol removal of an anaerobic membrane bioreactor operated at high sodium concentration

    No full text
    Certain industrial wastewaters have posed a big challenge to biological water treatment systems because of their high toxic organic compounds concentration (e.g. phenol) and high salinity. The maximum biomass specific phenol bioconversion rate (PhCR) of a mesophilic (35 °C) anaerobic membrane bioreactor (AnMBR) under high sodium concentration [18.6 g Na+/L] condition was studied by an increase in the biomass specific phenol loading rate (PhLR) through hydraulic retention time (HRT) decrease. The maximum PhCR achieved in our research was 73 mg Ph-COD/gVSS-COD.d, with acetate as co-substrate [2g AC-COD/L]. This result was lower than that reported by the previous study of Bioxtreme (193 mg Ph-COD/gVSS-COD.d) at lower sodium concentration [8.0 g Na+/L]. On the other hand, a simplified ADM1 model was used to model the conversion of acetate to methane in batch experiments, among which, the inhibition of substrate (acetate or phenol) on microbial growth rate was described by Haldane equation. The kinetic parameters for acetate degradation were Ks,AC=300 mg COD/L, KI,AC=821mg COD/L, km,AC I =0.246 mg COD/mg COD.h without phenol addition and Ks,AC=300 mg COD/L, KI,AC=806 mg COD/L, km,AC I=0.236 mg COD/mgCOD.h with the addition of 714 mg Ph-COD/L (300 mg Ph/L) at sodium concentration of 18.6 g Na+/L, while it was Ks,AC=6.7 10-9 mg COD/L, KI,AC=5670 mg COD/L, km,AC I=0.043 mg COD/mgCOD.h at lower sodium concentration [8.0 g Na+/L] without phenol addition.The kinetic parameters estimated for the batch experiments were applied in a mathematical model describing a dynamic experiment carried out in the AnMBR1 and validated with different HRTs. In the model, the conversion from phenol to acetate was considered and the kinetic parameters estimated for phenol degradation were Ks,Ph=20 mg COD/L, KI,Ph=300 mg COD/L, km,Ph I=0.008 mg COD/mgCOD.h. It was proved that the simplified ADM1 model could well predict the phenol and acetate concentrations in the reactor at different PhLRs. This research has provided an experimental and modeling approach for the maximum PhCR determination and could contribute to the understanding of the inhibition effect of sodium and phenol on PhCR in the treatment process of saline phenolic wastewater.Bioxtrem

    Riccardia innovans Pagan

    No full text
    <i>Riccardia innovans</i> (Steph.) Pagán (Figs 2 -4) <p> <i>The Bryologist</i> 45: 80 (1942). <i>—</i> Basionym: <i>Aneura innovans</i> Steph., in Urban, <i>Symbolae Antillarum</i> 2: 470 (1901). — Type: Guadeloupe, Savane-à-Mulets, «Sur les arbrisseaux », 1901, <i>Duss</i></p> <p> <i>484,</i> ex hb. Urban (lecto-, designated here, G[G00066662!], <i>c</i>. gyn.; isolecto-, NY n.v., fide Pagán 1942).</p> <i>Description</i> <p> The outstanding characters of <i>R. innovans</i> are the very delicate, 2-pinnate plants with a very narrow (150-250 µm in diameter), biconvex, almost wingless axis and numerous long and narrow, linear to subulate branches. The branches are only little narrower than the axis, plano-convex, obliquely to widely spreading, usually tapering to narrow tips, and narrowly winged by 1-2 cell wide wings. The presence of small scales on the calyptra, made up of large cells, may be a further characteristic of the species. The plants are dioicous; gemmae have not been observed.</p> <i>Remarks</i> <p> <i>Riccardia innovans</i> approaches <i>R. regnellii</i> (Ångstr.) K.G.Hell, but the latter is a larger plant with a flat axis (not biconvex) and with broader, frequently tongue-shaped branches. In the type material, some <i>R. regnellii</i> plants are growing mixed in the dense mat of <i>R. innovans</i> and are immediately recognized by their much larger size. <i>Riccardia innovans</i> is thus far only</p> <p> known from the type. A field search by the second author in the type locality and elsewhere has not revealed further populations of the species. The taxonomic relationships of the species will be dealt with in a comprehensive study on the genus <i>Riccardia</i> in Guadeloupe (Lavocat Bernard & Reeb in prep.).</p>Published as part of <i>Gradstein, S. Robbert & Bernard, Elisabeth Lavocat, 2020, An evaluation of the endemic bryophyte flora of Guadeloupe, pp. 205-214 in Cryptogamie, Bryologie 20 (15)</i> on pages 206-207, DOI: 10.5252/cryptogamie-bryologie2020v41a15, <a href="http://zenodo.org/record/7822144">http://zenodo.org/record/7822144</a&gt

    Assessing the effect of reclaimed asphalt pavement on the fatigue and healing of flexible pavement materials

    No full text
    The Netherlands has one of the densest road networks with over 140,000 km of roadways. Fatigue cracking is an important distress in flexible pavements. This form of distress results from the application of repeated traffic loading which causes failure. Fatigue cracking assessment on various base layer asphalt mixtures including reclaimed asphalt pavement materials and recycling agents has been addressed in this research work. This research work aims to develop a method for quantifying and assessing this fatigue characterization including the self-healing mechanism of asphalt mixtures using Visco Elastic Continuum Damage Theory. The self-healing in asphalt mixtures was assessed by incorporating group-rest healing periods in a self-developed laboratory testing method. The reliable self-healing models for asphalt mixtures with recycled asphalt materials and recycling agents based on temperature, damage state, and rest periods were predicted using the damage characteristics curve (C-S). Bottom-up cracking in base layer asphalt mixtures was modeled and studied using finite element modeling software FlexPAVE based on the Visco-Elastic Continuum Damage theory. A vivid assessment of mixtures for fatigue and healing characterization is discussed in this research work.This research work is interrelated with an ongoing project, which aims at developing a protocol to determine the shift factors for the fatigue life of asphalt mixtures to correct healing and aging. The project runs under the umbrella of Knowledge-based Pavement Engineering (KPE), a joint program among Rijkswaterstaat, TNO, and TU Delft. Dura Vermeer is contributing partner to this MSc graduation research work as well.Civil Engineering | Structural Engineerin

    Deterioration of the anammox process at decreasing temperatures and long SRTs

    No full text
    The implementation of autotrophic nitrogen removal in the mainstream of a municipal wastewater treatment plant is currently pursued. Among the crucial unknown factors are the kinetic properties of anaerobic ammonium oxidising (anammox) bacteria at low temperatures. In this study we investigated the adaptation of a fast-growing anammox culture to a lower temperature. In a membrane bioreactor a highly enriched anammox community was obtained at 30°C, 25°C and 20°C. This culture was exposed to long- and short-term temperature changes. In short-term experiments the decrease in biomass-specific activity due to decrease in temperature can be described by an activation energy of 64 ± 28 kJ mol−1. Prolonged cultivation (months) implies that cultivation at low temperatures resulted in deterioration of biomass-specific activity (EaLT 239 kJ mol−1). The growth rate and specific anammox activity in the system decreased from 0.33 d−1 and 4.47 g NO2-N g VSS−1 d−1 at 30°C to 0.0011 d−1 and 0.037 g NO2-N g VSS−1 d−1 at 20°C. The reason for the deterioration of the system was related to the required long SRT in the system. The long SRT leads to an increase of non-active and non-anammox cells in the reactor, thereby decreasing the biomass-specific activity.BT/Environmental BiotechnologyBT/Bioprocess Engineerin
    corecore